首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

python lambda 表达式中如何进行赋值

2013-07-09 
python lambda 表达式中怎么进行赋值SyntaxError: lambda cannot contain assignment难道不支持吗[解决办

python lambda 表达式中怎么进行赋值
SyntaxError: lambda cannot contain assignment

难道不支持吗
[解决办法]
贴代码看看,lambda说白了就是个匿名函数.可以作为表达式右值(用来给左值赋值),本身不能被赋值.
[解决办法]

引用:
SyntaxError: lambda cannot contain assignment

难道不支持吗


python的lambda的lambda,功能非常有限,Guido也不喜欢它。稍微复杂点的计算还是用函数好。
[解决办法]
python的lambda只是缩水版的lambda。

引用:
python的lambda的lambda

[解决办法]
Inc = lambda(n):n+1

[解决办法]
引用:
Quote: 引用:

Inc = lambda(n):n+1


没用

怎么没用了?
[解决办法]
引用:

Inc = lambda(n):n + 1
a = 0
Inc(a)
print(a)


这就和lambda无关了,python的正常函数也做不到这个。而且即使是在c/c++中,这种有副作用的函数也应尽量避免。
[解决办法]
python3可以用exec在lambda中。为什么python2不可以呢?
[解决办法]
引用:
python3可以用exec在lambda中。为什么python2不可以呢?


python2中exec是statement,python3中exec是function。

热点排行