Python 奇怪的未知lambda语法

Python 奇怪的未知lambda语法,python,lambda,syntax,Python,Lambda,Syntax,我知道这是怎么做的(使k引用的是实际值而不是最后一个值),但是这个语法叫什么? 来自 该语法没有特定的名称。这是将闭包绑定到其参数的方法之一 该语法是在创建lambda时将当前iteratee值作为默认参数传递给每个lambda的一种方法。由于创建函数时会计算默认参数,因此该值会附着在函数上 funcs = [] for k in range(10): funcs.append(lambda k = k: k) >>> funcs[7]() 7 # not 9

我知道这是怎么做的(使
k
引用的是实际值而不是最后一个值),但是这个语法叫什么? 来自


该语法没有特定的名称。这是将闭包绑定到其参数的方法之一

该语法是在创建lambda时将当前iteratee值作为默认参数传递给每个
lambda
的一种方法。由于创建函数时会计算默认参数,因此该值会附着在函数上

funcs = [] 
for k in range(10):
     funcs.append(lambda k = k: k)

>>> funcs[7]()
7 # not 9