匿名函数1

2021-01-10  本文已影响0人  闲云野鹤_23dd

匿名函数

匿名函数指一类无须定义标识符的函数或子程序。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)))
上一篇下一篇

猜你喜欢

热点阅读