如何在Python中定义具有可变内容的函数名?

时间:2016-09-15 14:01:36

标签: python-2.7

基本上,我想要做的是:

for i in range(10):
  def function[i_value]():
    pass

这将定义这些函数:function0,function1,...,function9。

1 个答案:

答案 0 :(得分:1)

如果这些函数将成为单行表达式函数,则可以使用lambda

for name in ['func_1', 'func_2']:
    name = lambda: None

虽然我不明白你为什么要这样做,因为在完成for循环后,这些功能无法访问。

您可以将它们存储在dict中,以便以后访问:

funcs = {}
for name in ['func_1', 'func_2']
    funcs[name] = lambda: None

print funcs['func_1'] 

>> <function <lambda> at 0x0019B1E0>