使用Python 2.7,我如何定义一个名称有变量的函数?喜欢:
for x in xrange(40):
def functionname + x():
print x
Run Code Online (Sandbox Code Playgroud)
?
存储对列表或字典中的函数的引用.
为此,让我们创建一个函数,使我们将在列表中存储的函数:
def functionmaker(x):
def function():
print(x)
return function
Run Code Online (Sandbox Code Playgroud)
这允许我们x在创建函数时捕获值.
现在让我们列出一下这样的函数:
functionlist = [functionmaker(x) for x in xrange(40)]
Run Code Online (Sandbox Code Playgroud)
现在我们可以称呼它们:
functionlist[5]() # prints 5
Run Code Online (Sandbox Code Playgroud)