可变参数
在函数定义的时候,不确定在调用的时候,实参有几个,这种场景下可以使用可变参数。可变参数也称为多值参数,不定长参数。语法:1在普通的参数前面加上一个*,这个参数就变成可变参数2这个参数可以接受任意多个位置传递参数的数据,它的类型是元组3按照惯例,这个形参写作args,即*args,这个是习惯写法简单代码示例:
deffn(*args):print(args)fn(1,2,3)#(1,2,3)
小应用:
求任意多个数字的和。
defsum(*args):result=0foriinargs:result+=ireturnresultsum1=sum(1,2,3,4,5)print(sum1)
匿名函数
匿名函数,使用lambda定义的表达式,称为匿名函数。匿名函数只能写一行代码,所以只能用来定义一些实现简单功能的函数匿名函数一般不直接调用,而是作为另外一个函数的参数去使用。如果非要调用,可以把匿名函数赋值给一个变量。代码示例:
lambdaa,b:a+b
小案例:
给列表中的元素按照age排序1sort方法只能对数字和字符串排序2如果要用sort排序,sort的第一个参数是key,要指定用列表中的哪一个字段来排序3key的参数正好使用匿名函数,返回的就是age值,根据age值进行排序