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