传入参数类型
- 必备参数
- 关键字参数
- 默认参数
- 不定长参数
不定长参数
- 一个函数能处理比当初声明时更多的参数。这些参数叫做不定长参数,和上述2种参数不同,声明时不会命名;
- 冗余接收元组:无映射实参在形参列表中最后加一项
*变量名
以元组形式接收后面的冗余实参(只能写在后面且在冗余接收字典前),不管有多少个参数,在函数内部都被存放在以形参名为标识符的元组中,因为为元组所以不可采用关键字实参方式向函数传递参数; - 冗余接收字典:映射类型实参(如关键字传值的实参)在形参列表中多加一项
**变量
名以字典来接收后面的冗余实参(只能写在后面且在冗余接收元组后),参数在函数内部将被存放在以形式名为标识符的dictionary中。向函数传递参数时,需要采用key1=value1, key2=value2
这样的形式。
基本语法如下:
def functionname([formal_args,] *var_args_tuple, **var_args_dict ):
function_suite
return [expression]
判断是否输入参数:
def fuction(*args):
if args is (): #判断是否输入了参数
pass
else:
pass
判断输入了几个参数:
def fuction(*args):
if len(args) == 3: #例如判断输入的参数个数是否为3
pass
else:
pass
匿名函数
- python 使用 lambda 来创建匿名函数。
- lambda只是一个表达式,函数体比def简单很多。
- lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。
- lambda函数拥有自己的命名空间,且不能访问自有参数列表之外或全局命名空间里的参数。
lambda [arg1 [,arg2,.....argn]]:expression