如何使用字符串来调用Python中的函数/方法
Python函数通常是通过它们的名称来调用的。但是,您也可以使用字符串来调用函数。为此,请使用locals()和globals()。
使用字符串调用函数
示例
在这个示例中,我们将学习如何使用字符串调用两个函数 –
def demo1():
print('Demo Function 1')
def demo2():
print('Demo Function 2')
locals()['demo1']()
globals()['demo2']()
输出
Demo Function 1
Demo Function 2
使用字符串变量调用函数
示例
在这个示例中,我们创建了一个名为 Example 的类,其中包含一个名为 xyzuvw() 的函数,它接受参数并将它们打印出来。使用globals()函数来引用这个类。然后,使用getattr()函数来引用 Example 类中的 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)