python学习日志6

调用函数时可使用的正是参数类型:

必须参数:形参和实参一一对应(个数,数据类型,顺序)

def  fun1(a,b):  #形参

      reture a+b

h=fun1(3,3)#实参

print(h)

默认参数:(缺省参数)缺省参数必须写在后面,可以不指定参数名,但是顺序要保证,否则要指定参数名

def  fun1(a,b=6):  

      reture a+b

h=fun1(3)

print(h)

关键字参数:关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict

python学习日志6

命名关键字参数:name=value

python学习日志6

不定长参数(可变参数):可变参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple(元组)

python学习日志6

参数组合:定义一个函数,包含上述若干种参数:

python学习日志6

小结

  • Python的函数具有非常灵活的参数形态,既可以实现简单的调用,又可以传入非常复杂的参数。
    默认参数一定要用不可变对象,如果是可变对象,程序运行时会有逻辑错误!
    要注意定义可变参数和 **kw 关键字参数的语法:
    *args是可变参数,args接收的是一个tuple;
    **kw是关键字参数,kw接收的是一个dict。
  • 传参数:*args 会逐个分割args 逐个对应形参列表
    **kw 只能对应到形参列表的 **kw
变量作用域:全局变量与局部变量的作用域不同生命周期不同
python学习日志6

匿名函数:lambda [参数列表]:函数体内部代码

map():将序列的每个元素传入函数中执行,并把结果作为新的list返回。

python学习日志6

python学习日志6

python reduce():每次迭代,将上一次的迭代结果与下一个元素一同执行一个二元的func函数;

python学习日志6