这些不是根本。 原因是函数中变量绑定是运行时决定的,不是函数定义时决定。
In [70]: i = 1
In [71]: f = lambda x :i*x
In [72]: i = 5
In [73]: f(2)
Out[73]: 10
【 在 ToSimplicity 的大作中提到: 】
: 1. i是个变量
: 2. i对于lambda来说不是local变量, 它的namespace在create_multipliers()下, 同一次create_multipliers()下的lambda使用的i都是同一个对象
: 可以试试下行里变量的namespace都在哪
: ...................
--
FROM 120.229.48.*