我有这样的功能:
def activate_field_1(): print 1 def activate_field_2(): print 2 def activate_field_3(): print 3
如何定义activate_field_[x]的x=1:10,而不打字了他们中的每一个?当然,我宁愿传递一个参数,但是出于我的目的,这是不可能的。
activate_field_[x]
x=1:10
您是否要在源文件中静态地单独定义它们?那么最好的选择是编写一个脚本来生成它们。
另一方面,如果您希望在运行时使用这些功能,则可以使用更高阶的功能。例如
>>> def make_func(value_to_print): ... def _function(): ... print value_to_print ... return _function ... >>> f1 = make_func(1) >>> f1() 1 >>> f2 = make_func(2) >>> f2() 2
您可以生成这些列表并再次在运行时进行存储。
>>> my_functions = [make_func(i) for i in range(1, 11)] >>> for each in my_functions: ... each() ... 1 2 3 ...