我想知道是否有办法自动定义函数。例如,我想要一组函数,如:
def add1:
list.append(x)
def add2:
list.append(y)
def add3:
list2.append(x)
...
问题是我必须定义很多这些,确切地说是232。有更快的方法吗?另外,我使用Python 3.2。
答案 0 :(得分: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"
编辑我更改了代码,允许您根据“功能编号”定义不同的行为