函数
函数是对功能的封装。
函数定义
def 函数名(参数列表 ):
语句
return 表达式 #return 可不写,默认返回none
函数名遵循标识符规则
定长参数易于理解,调用函数时传入的实参与函数定义的形参数目对应,顺序对应。另外一种不定长参数,传入实参与函数形参数目可以不一致。举例说明:
例1.
def func(name, *args):
print(name)
for x in args:
print(x)
func("a1", "a2", "a3", "a4")
name接收第一个参数,*args接收后面所有的。
输出结果为:
例2.
def func2(**kwargs):
print(kwargs)
print(type(kwargs))
func2(x="abc", y="nice")
**kwargs 接收键值对类型
输出结果为:
例3.
可以接收任意参数
def func3(*args, **kwargs):
pass #代表一个空语句
匿名函数
不适用def定义函数,而使用lambda创建匿名函数
- lambda只是一个表达式函数体比def简单
- lambda主体是一个表达式,而非代码块,只能在表达式中封装简单逻辑
- lambda有自己的命名空间,且不能访问自由参数列表之外的或全局命名空间的参数
格式:lambda 参数1,参数2,……,参数n:expression
例
sum = lambda s1, s2:s1 + s2
print(sum(1,2)) #输出结果为3