函数调用的模式匹配参数 Python?

Pattern match parameters to function calls Python?

我正在编写一个 python 函数,该函数根据它接受的参数调用一个函数。它看起来像这样:

def match(parameter):
  if parameter == 'fun1':
    fun1()
  elif parameter == 'fun2':
    fun2()
  elif parameter == 'fun3':
    fun3()

然后在 match 函数下定义所有被调用的函数。有没有更有效的方法来组织 match 函数?我找不到任何关于函数模式匹配的信息,但是某种数据结构可以工作吗?

感谢您的帮助。

您可以创建一个字典来存储函数和参数值之间的映射以调用它。

例如:

def fun1():
    print("I am fun1")


def fun2():
    print("I am fun2")

funcs_mapping = {"fun1":fun1, "fun2":fun2}

def match(parameter):
  if parameter in funcs_mapping:
      funcs_mapping[parameter]()