Python 有没有办法将函数作为字典的值?

Python 有没有办法将函数作为字典的值?,python,python-3.x,list,function,dictionary,Python,Python 3.x,List,Function,Dictionary,我必须通过从用户获取关于哪些操作要作为字符串执行的输入来执行多个操作。所以我想使用一个字典,其中函数名是键,值是函数本身。我还想将参数传递给函数。有办法吗? 这就是我想做的: a = [] # an empty list inp = input() # which function to apply? arg = int(input()) # the argument corresponding to the function. # a dictionary mapping all the f

我必须通过从用户获取关于哪些操作要作为字符串执行的输入来执行多个操作。所以我想使用一个字典,其中函数名是键,值是函数本身。我还想将参数传递给函数。有办法吗? 这就是我想做的:

a = [] # an empty list
inp = input() # which function to apply?
arg = int(input()) # the argument corresponding to the function.

# a dictionary mapping all the functions to the names
func_dict = {"append":a.append(), "pop":a.pop(), "extend": a.extend()} 
我知道这行不通,我还想给出用户输入的参数。有办法做到这一点吗

谢谢。

只需从功能中删除:

a=[]空列表 inp=输入要应用的功能? arg=int输入与函数对应的参数。 将所有函数映射到名称的字典 func_dict={append:a.append,pop:a.pop,extend:a.extend} 这样,您将获得函数的引用,而不是其结果

编辑:然后使用func_dict['append']arg调用函数。注意:如果函数具有不同数量的参数,则此解决方案可能会失败,因此在调用函数之前,您可能必须检查这些参数。

只需从函数中删除:

a=[]空列表 inp=输入要应用的功能? arg=int输入与函数对应的参数。 将所有函数映射到名称的字典 func_dict={append:a.append,pop:a.pop,extend:a.extend} 这样,您将获得函数的引用,而不是其结果


编辑:然后使用func_dict['append']arg调用函数。注意:如果函数具有不同数量的参数,则此解决方案可能会失败,因此在调用函数之前,您可能必须先检查这些参数。

您不能使用switch case来完成此操作吗?我认为python没有switch case,但我从未见过有人使用它,也没有找到任何相关文档。我不知道!。我想知道他们为什么漏掉了它!!你不能用switch-case来做这件事吗?我不认为python有一个switch-case,但我从来没有见过有人使用它,也没有找到任何关于它的文档。我不知道!。我想知道他们为什么漏掉了它!!非常感谢你的回答,我的朋友非常感谢你的回答,我的朋友