2024-05-14 09:51:59 发布
网友
我正在阅读stevenlott的函数式Python编程,这是一本关于在功能上使用Python而不是以一种更面向对象的方式使用Python的书,它主要针对它的大多数示例进行探索性的数据分析。在
洛特说Lamda不能有任务声明。但在同一页上,他给一个变量分配了一个lambda函数:
>>mersenne = lambda x: 2**x-1 >>mersenne(17) 131071
那怎么不是赋值语句?我还缺少什么“使命感”?在
在“lambda”函数中不能有赋值,但是lambda本身可以用于赋值。在
所以你不能说lambda x: y = x*2; return y,但你可以说foo = lambda x: x*2
lambda x: y = x*2; return y
foo = lambda x: x*2
这不是任务。在
Python中的lambda不能包含赋值。但这几乎是Python实现函数范式的唯一方面。语言的其余部分具有一些不可回避的过程特性;很难想象一个Python程序不包含任何赋值。在
在“lambda”函数中不能有赋值,但是lambda本身可以用于赋值。在
所以你不能说
lambda x: y = x*2; return y
,但你可以说foo = lambda x: x*2
这不是任务。在
Python中的lambda不能包含赋值。但这几乎是Python实现函数范式的唯一方面。语言的其余部分具有一些不可回避的过程特性;很难想象一个Python程序不包含任何赋值。在
相关问题 更多 >
编程相关推荐