use*_*752 0 python lambda variable-assignment
我正在阅读Steven Lott撰写的《 Functional Python Programming》,这是一本关于“功能性”地使用Python而不是以面向对象的方式使用的书,其中大部分示例着重于探索性数据分析。
洛特说Lamda不能有赋值语句。但是在同一页面上,他为变量分配了一个lambda函数:
>>mersenne = lambda x: 2**x-1
>>mersenne(17)
131071
Run Code Online (Sandbox Code Playgroud)
那怎么不是任务陈述呢?我还缺少其他“分配”的感觉吗?
您无法在“ lambda”函数中进行分配,但是lambda本身可以在分配中使用。
所以你不能说类似lambda x: y = x*2; return y,但是你可以说foo = lambda x: x*2