我使用许多函数(def name():
)编写了一个程序。
这些函数在代码末尾汇总,如:
a()+b()+c()+d()+e()
我能用这种方式做到这一点:
program:
>>> a,b,c,d,e是可选功能,您希望在计算中使用其中一个功能吗?
user:
>>> a,b,d
并且程序只是将这些选定的函数带入程序中。
我做了很多搜索,但我找不到这样的事情。 谢谢你的帮助。
答案 0 :(得分:2)
您可以通过以下方式使用字典。
def a():
return 2 + 3
def b():
return 3 - 2
def c():
return 2*3
def d():
return 2/3
dic = {}
dic['a'] = a
dic['b'] = b
dic['c'] = c
dic['d'] = d
funcs = str(raw_input("which functions would you like to use?: "))
funcs = funcs.split(',')
result = 0
for i in funcs:
result += dic[i]()
print result
答案 1 :(得分:0)
您可以使用getattr()来获取函数:
import sys
def a():
return 1
def b():
return 2
def c():
return 3
sum = 0
# Assume user input of 'a' & 'c'
for name in ['a', 'c']:
#
# Get the function and call it...
#
sum += getattr(sys.modules[__name__], name)()
print('sum: {}'.format(sum))