调用函数时可使用的正是参数类型:
必须参数:形参和实参一一对应(个数,数据类型,顺序)
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
命名关键字参数:name=value
不定长参数(可变参数):可变参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple(元组)
参数组合:定义一个函数,包含上述若干种参数:
小结
- Python的函数具有非常灵活的参数形态,既可以实现简单的调用,又可以传入非常复杂的参数。
默认参数一定要用不可变对象,如果是可变对象,程序运行时会有逻辑错误!
要注意定义可变参数和 **kw 关键字参数的语法:
*args是可变参数,args接收的是一个tuple;
**kw是关键字参数,kw接收的是一个dict。 - 传参数:*args 会逐个分割args 逐个对应形参列表
**kw 只能对应到形参列表的 **kw
匿名函数:lambda [参数列表]:函数体内部代码
map():将序列的每个元素传入函数中执行,并把结果作为新的list返回。
python reduce():每次迭代,将上一次的迭代结果与下一个元素一同执行一个二元的func函数;