-1

我想知道是否有一种方法可以自动定义函数。例如,我想要一组函数,例如:

def add1:
    list.append(x)
def add2:
    list.append(y)
def add3:
    list2.append(x)
...

问题是我必须定义很多这些,准确地说是 232。有没有更快的方法来做到这一点?另外,我使用 Python 3.2。

4

1 回答 1

1

你可以使用exec

例子:

def your_common_function(i, txt):
   # here you may decide what to do with arguments according to "i" value
   if i == 1:
      print(txt)
   else:
      print(txt+'s')

for i in range(1, 233):
    exec("def add%d(txt):\n\tyour_common_function(%d, txt)" % (i, i))

add1("hello world")  # prints "hello world"
add167("hello world")  # prints "hello worlds" 

编辑我更改了我的代码以允许您根据“功能编号”定义不同的行为

于 2013-04-05T14:43:44.600 回答