zoukankan      html  css  js  c++  java
  • python函数—形参、实参、位置参数、关键字参数

    1.通过def function_name([parameter]): 定义,函数一遇到return即结束运行。如果函数没有定义返回值,则返回None,如果定义了一个返回值,则返回该对象,如果一个return中有多个返回值,会将所有对象封装成一个元组返回。

    2.定义函数时的参数叫作形参,形参只在被调用时分配内存单元,调用结束后即释放内存;调用函数时传入的参数叫作实参,实参可以是常量、变量、表达式、函数等。未在函数定义时指定默认值的形参,必须在调用时指定值。

    3.位置参数即函数调用时传入的参数与定义的位置和值一一对应,关键字参数即在函数调用时通过参数=值指定各个参数的值,此时与位置无关,例如定义函数def test(x,y,z)

    位置参数:通过test(1,2,3)调用,则参数1、2、3与x、y、z一一对应

    关键字参数:通过test(y=2,z=3,x=1)调用,此时需指定每个参数的值,个数要与定义时一致但是位置可随意

    位置参数和关键字参数混合使用:位置参数需在关键字参数前面,关键字参数按顺序赋值,例如test(1,2,z=3),但是test(x=1,2,3)、test(1,2,y=3)会报错

    默认参数:如果函数定义时指定一个默认值def test(x,y,z=2),调用时可不指定z的值也可指定,指定则会覆盖默认值2,如通过def test(1,2)或者test(1,2,3)调用

    4.*args和**kwargs,不定长参数,一个函数如果同时有*args和**kwargs参数,*args参数必须在**kwargs前面,并且如果有默认参数,默认参数一定要放在最前面

    *args是将函数调用时多余传入的、没有关键字的参数收纳在一起形成一个元组赋值给形参,或者通过*[各元素]、*(各元素),将列表、元组中的各个元素分开赋值给形参

    **kwargs是将多余传入的、有关键字的参数收纳在一起形成一个字典赋值给形参,或者通过**{各元素}将字典中的各个元素分开赋值给形参

    5.global 变量名:表示全局变量,nonlocal 变量名:表示上一级变量

    全局变量如果要在局部被修改,必须要加global指定是全局变量,否则不能被修改

    6.嵌套函数的执行顺序

        

  • 相关阅读:
    JavaSE之流程控制结构
    JavaSE的基本语法
    排序算法
    Java实现归并排序
    Java中线程池的介绍
    Java锁的升降级及synchoronized优化
    ThreadLocal应用与原理
    spring bean 实例化bean前后进行相应的设置
    maven依赖配置和依赖范围
    springmvc校验
  • 原文地址:https://www.cnblogs.com/Forever77/p/9749151.html
Copyright © 2011-2022 走看看