List_of_subject = ['add user', 'modify user', delete user'] and so on
我有一个名为subject的变量。所以根据主题,调用其他功能。 比如add_user,modify_user,delete_user等。
所以当我的主题是'add_user'时 我想调用add_user函数。我可以把它称为普通函数调用。 但我的list_of_subject正在不断增长。
我可以做:
List_of_subject.index(subject)
我得到索引。所以我想要一些像index是1调用add_user函数的东西。 基本上我想将我的函数链接到list_of_subject列表。 或者可以这样做:`
if subject in list_of_subject:
if subject == 'add user' :
user = add_user()
else if subject == ' modify user'
user = modify_user()
感谢。
感谢。
答案 0 :(得分:8)
在Python中,函数是first-class objects,因此您可以将它们放入字典中:
fn = {'add user': add_user, 'modify user': modify_user}
然后调用相关功能,使用:
user = fn[subject]()
答案 1 :(得分:0)
(相对)不安全的方式是
def add_user():
(...)
list_of_subject = ['add_user', 'modify_user', 'delete_user']
if subject in list_of_subject:
exec(subject + "()")