基于字符串数据调用python中的函数

时间:2017-12-11 09:27:26

标签: python python-3.x

是否可以根据字符串调用python中的函数?

假设我有一个字符串x="test_A;test_B;test_C"

我有一个基于分隔符“;”创建的列表序列。

sequence = x.split(';')
print(sequence)

我得到以下结果

['test_A', test_B', 'test_C', '']

现在,我想按顺序运行以下功能

  1. Test_A()
  2. Test_B()
  3. Test_C()
  4. 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
    

0 个答案:

没有答案