我在这里不知所措。我正在尝试在 for 循环中定义一个函数。该函数使用一个在循环内定义的变量,看起来像这样:
myFuns = []
for i in range(10):
j = i + 4
def fun(): print(j)
myFuns += [fun]
在这个循环结束时,我在 myFuns 中的函数是不同的,但它们做同样的事情,很明显,这不是传递给 fun() 的新变量 j,而是 j 的引用。
我很高兴知道如何传递 j 的值而不仅仅是引用。
我不知道在循环中创建的变量可能比循环寿命更长,所以这对我来说是新领域......
不负相思意
相关分类