首页 > 解决方案 > 调用具有不同名称的函数

问题描述

所以我使用了一堆文件。当我们说变量 x = 函数时,每个文件都会触发。我知道这很令人困惑,但我几乎需要能够使用一个变量名,这取决于变量等于什么将调用该函数。我为此使用python。

标签: pythonfunctionvariables

解决方案


根据您的问题,您似乎想要某种工厂,其中要调用的函数由传入的变量的值确定。

这是一个简单的方法:

x = 2  # determines which function to call

# possible functions to call 
def f0(p): print('called f0',p)
def f1(p): print('called f1',p)
def f2(p): print('called f2',p)
def f3(p): print('called f3',p)

lstFunc = [f0, f1 ,f2, f3]  # create list of functions

lstFunc[x]('test')  # x=2, call function at index 2 (f2)

输出

called f2 test

对于更复杂的事情,您将使用一个函数,该函数根据变量值返回另一个函数。在这个例子中,我只是使用了一个函数列表。


推荐阅读