Python使用变量的字符串值来调用另一个函数

时间:2017-10-27 23:11:38

标签: python

我想根据我在当前脚本中传递的字符串从另一个脚本调用一个函数。例如:我在Entry中有不同的功能,我想选择运行哪一个。

import Entry
def ma_exec(entry = 'longShort'):
    if entry == 'longShort':
        entryStrategy = Entry.longShort
    entryStrategy(PositionTable, Signal)

但是这样,如果对于Entry中的每个不同的函数,我将不得不写这么多。我可以做类似的事情:

def ma_exec(entry = 'longShort'):
    entryStrategy = Entry.entry

这样我可以根据传递给这个ma_exec函数的String值运行不同的函数吗? 我知道上面这行是不对的,有没有一个好方法可以解决我的问题?

1 个答案:

答案 0 :(得分:0)

这可能是Python的eval()函数的一个很好的例子。请尝试以下代码:

eval("Entry." + entry + "(PositionTable, Signal)")

据我所知,你只能用像Python这样的解释性语言来做。