def create_multipliers():
return (lambda x : i * x for i in range(5))
for multiplier in create_multipliers():
print(multiplier(2))
那怎么解释这段代码输出?
【 在 ToSimplicity 的大作中提到: 】
: 1. i是个变量
: 2. i对于lambda来说不是local变量, 它的namespace在create_multipliers()下, 同一次create_multipliers()下的lambda使用的i都是同一个对象
: 可以试试下行里变量的namespace都在哪
: ...................
--
FROM 120.229.48.*