在调用
时,下面一段代码会出错a = lambda x : x +( lambda y : y * 30)
--call
a(1)
Traceback (most recent call last):
File "<pyshell#334>", line 1, in <module>
a(1)
File "<pyshell#330>", line 1, in <lambda>
a = lambda x : x +( lambda y : y * 30)
TypeError: unsupported operand type(s) for +: 'int' and 'function'
有没有办法使用嵌套的lambda实现这一点
答案 0 :(得分:1)
a = lambda x: 1 + (lambda y: y*30)(x)
如果您在lambda y
之外创建并命名lambda x
,它会更加清晰,但我想你会称之为作弊。
f = lambda y: y*30
a = lambda x: x + f(x)