是否可以根据字符串调用python中的函数?
假设我有一个字符串x="test_A;test_B;test_C"
我有一个基于分隔符“;”创建的列表序列。
sequence = x.split(';')
print(sequence)
我得到以下结果
['test_A', test_B', 'test_C', '']
现在,我想按顺序运行以下功能
python中有没有办法做到这一点?
尝试运行:
# Functions defined
def test_A(param):
print(param)
def test_B(param):
print(param + ' again')
def test_C(param):
print('and ' + param + ' again')
# Dictionary defined
d = dict({
'test_A': test_A,
'test_B': test_B,
'test_C': test_C
})
# Your code
x = "test_A;test_B;test_C"
sequence = x.split(';')
print(sequence)
for func_name in sequence:
d[func_name]('hi')
# Prints this
# hi
# hi again
# and hi again