匿名函数
匿名函数指一类无须定义标识符的函数或子程序。Python用lambda语法定义匿名函数,只需用表达式而无需申明。
在python开发过程中,我们经常使用函数来封装一段代码,该函数具有实现某个功能的作用,方便在程序的其他地方调用。往往我们定义的函数是用来解决复杂问题的封装。然而,在开发过程中,不免会遇到一些简单的函数调用,这个时候,选择自定义一个函数有可能不符合实际,此时我们可以选择匿名函数来解决这个问题。
语法:
lambda [arg1 [,arg2, ... argN]] : expression
[arg1 [,arg2, … argN]] : 参数
expression : 执行代码
与普通函数的对应关系
image.png原图
image.png匿名函数例子
方法的参数不局限于 普通变量(字符串,数字等等对象),也可以用方法作为参数入参
def nameFunc(a):
return "普通函数,参数是: %s"%a
def call_func(func,param):
print('参数:',param)
print(func(param))
print("")
if __name__ == '__main__':
call_func(nameFunc,'hello')
call_func(lambda x:x*2,9)
call_func(lambda y:y*y,-4)`
eval
将字符串作为代码执行
if __name__ == '__main__':
s1 = 'print("1111")'
print(s1)
eval(s1)
动态调用匿名函数
def fun1(a,b,test):
return test(a,b)
if __name__ == '__main__':
str1 = input("请输入匿名函数")
print(fun1(4,5,eval(str1)))
网友评论