在python中选择一个没有if语句的函数



想象一下,有200个函数,它们代表了200种解决问题或计算类似的方法

def A():
...

def B():
...
.
.
.

该方法将被选择为输入参数,这意味着用户决定使用哪种方法,在运行程序时将其作为参数,如";A";用于函数/方法A。如何在不检查python中每个函数名称的情况下选择该函数。

您可以使用字典直接访问O(1)复杂性中所需的函数。例如:

def A(x):
pass
def B(x):
pass
func_map = {"A": A, "B": B}

假设您将用户输入存储在变量chosen_func中,然后要选择并运行正确的函数,请执行以下操作:

func_map[chosen_func](x)

示例:

In [1]: def A(x): 
...:     return x + x 

In [2]: def B(x): 
...:     return x * x  
In [3]: func_map = {"A": A, "B": B}
In [4]: func_map["A"](10)
Out[4]: 20
In [5]: func_map["B"](10)
Out[5]: 100

相关内容

  • 没有找到相关文章

最新更新