遍历实行列表中的函数,然则从列表中取得的函数名是字符串,所以会提醒范例毛病,字符串对象是不能够挪用的。假如我们想要字符串变成可挪用的对象呢?或是想经由过程变量挪用模块的属性和类的属性呢?以下有三种要领能够完成
1、eval()
eval() 一般用来实行一个字符串表达式,并返回表达式的值。在这里它将字符串转换成对应的函数。eval() 功能强大然则比较风险(eval is evil),不发起运用。
2、locals()和globals()
locals() 和 globals() 是python的两个内置函数,经由过程它们能够以字典的体式格局接见部分和全局变量。
3、getattr()
getattr() 是 python 的内建函数,getattr(object,name) 就相当于 object.name,然则这里 name 能够为变量。
返回 foo 模块的 bar 要领
返回 Foo 类的属性
规范库operator下的methodcaller函数
以上就是python怎样经由过程函数名的字符串来挪用这个函数的细致内容,更多请关注ki4网别的相干文章!