匿名函数(lambda)

a = lambda n : n*n

b = lambda x : x+1

print(a(5))  # 25

print(b(6))   # 7

# 匿名函数的坑
b = lambda x,y : x,1
print(b) # (<function <lambda> at 0x00000000029BDAE8>, 1)

a = lambda x,y: 1,2
print(a)  # (<function <lambda> at 0x000000000296D9D8>, 2)

c = lambda x,y:(1,2)
print(c)  # <function <lambda> at 0x000000000238DB70>

d = lambda x,y:(1,y)
print(d(2,3))  # (1, 3)

e=1
w=2
i = lambda x,y:e,w 
print(i)  # (<function <lambda> at 0x000000000297DC80>, 2)

注意:

  1.函数的参数可以有多个,多个参数之间用逗号隔开

  2,.匿名函数不管多复杂,只能写一行,且逻辑结束后直接返回数据

  3.返回值和正常的函数一样,可以是任意数据类型

匿名函数并不是说一定没有名字. 这里前面的变量就是一个函数名. 说他是匿名原因是我们通
过__name__查看的时候是没有名字的. 统一都叫lambda. 在调用的时候没有什么特别之处.
像正常的函数调用即可

猜你喜欢

转载自www.cnblogs.com/Little-Raccoon/p/10840920.html
今日推荐