供用户选择的可选功能

optional function to choose for user

我写了一个使用很多函数的程序 (def name():)。 这些函数总结在代码的末尾,如:

a()+b()+c()+d()+e() 我可以通过什么方式做到这一点:

program: >>>a,b,c,d,e是可选函数,你想在计算中使用这些函数中的哪一个?

user: >>>a,b,d

并且程序只是将那些选定的函数带入程序。

我确实搜索了很多,但找不到这样的东西。 感谢您的帮助。

您可以通过以下方式使用字典。

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

您可以使用 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))