1.例1
def test(x,y,*args,*kwargs):
sum=x+y
for i in args:
sum+=i
for i in kwargs.values():
sum+=i
nums=[3,4]
num2={"num1":5,"safs":6}
test(2,*nums,**nums2)
#test(x,*args,**kwargs)
*args 可以传多个参数。类似列表之类的都可以传。
**kwargs 可以传多个参数。类似字典之类的需要双重拆包的。
2.例二。
def test(a,b):
return a+b
lambda x,y:x+y
func=lambda x,y:x+y
print(func(1,2))
#用lambda关键字定义匿名函数,是普通函数的补充。
#匿名函数简便,将函数用作变量。
#但不支持复杂计算。
匿名函数应用1:函数内容是可变的,返回的值可以改变。
print(test(1,2,lambda x,y:x+y))
print(test(1,2,lambda x,y:x*y))
匿名函数应用2:可用作排序,返回列表中的某一键。
stus.sort(key=lambda x::x["name"])#将stus字典中的“name”键排序。
匿名函数应用3:可以有用户决定操作。即在交互界面上决定匿名函数的内容。
func_new=eval(func_new) #将传入的字符串作可运行处理