如何在Python中使用字符串来调用函数/方法?
Python 函数通常使用其名称来调用。但是,您也可以使用字符串来调用函数。为此,请使用 locals() 和 globals()。
使用字符串调用函数
示例
在这个例子中,我们将学习如何使用字符串调用两个函数 -
def demo1(): print('Demo Function 1')def demo2(): print('Demo Function 2')locals()['demo1']()globals()['demo2']()
输出
Demo Function 1Demo Function 2
使用字符串变量调用函数
示例
在此示例中,我们创建了一个类Example,其函数xyzuvw()接受arg并打印它们。 globals() 函数用于引用该类。之后, getattr() 用于引用示例类中的函数 xyzuvw() -
class Example: def __init__(self): pass def xyzuvw(self, arg): print('Called xyzuvw({})'.format(arg))# Using globals()k = globals()['Example']()func = getattr(k, 'xyzuvw')func('demo argument')# Using getarr()getattr(globals()['Example'](), 'xyzuvw')('demo argument')
输出
Called xyzuvw(demo argument)Called xyzuvw(demo argument)