如何使用函数名称从字符串调用 Python 模块的函数?


Python 中的对象具有实例变量和方法作为属性。要使用函数的名称从字符串调用模块的函数,可以先获取该属性,再调用附加到该属性上的函数对象。例如,假设我有一个模块 foo,并且我有一个内容为“bar”的字符串。调用 foo.bar() 的最佳方法是

>>> import foo
>>> method_to_call = getattr(foo, 'bar')
>>> result = method_to_call()

如果在全局或局部命名空间中没有模块前缀,也可以使用 globals()/locals()。locals 返回包含当前局部符号表的字典。globals 返回包含全局符号表的字典。

例如

>>> result = locals()["myfunction"]()
or
>>> result = globals()["myfunction"]()

更新于: 11-12-2019

895 次浏览

开启你的 职业生涯

完成课程获取认证

开始
广告