python为什么在具有不同值的循环中定义的lambdas都返回相同的结果?

python为什么在具有不同值的循环中定义的lambdas都返回相同的结果?

假设你使用for循环来定义几个不同的 lambda (甚至是普通函数),例如::

>>>

>>> squares = []
>>> for x in range(5):
...     squares.append(lambda: x**2)
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » python为什么在具有不同值的循环中定义的lambdas都返回相同的结果?