有一个函数名(字符串形式),如何能够调用这个函数?

比如:

def afunc():

return 0

现在我有变量s='afunc',(此处仅举例,实际操作时名字是可变的)那么想调用afunc函数应当怎么操作呢?

补充说明:我的意思是,在实际应用中,我没有办法知道这个函数具体名字叫什么(上面的afunc只是随便举个例子),但我知道他的名字保存在一个字符串s中,我有的仅仅是s这个变量,那么我能不能通过这个s,来对那个函数进行调用

回答:

根据你的描述,可以参考以下代码

环境:python2.7.11

import sys

def afunc():

return 0

s= "afunc"

get_afunc = getattr(sys.modules[__name__], s)

print get_afunc()

运行结果

clipboard.png

回答:

假设你写这个函数的文件叫a.py,在a.py所属的文件夹下新建一个文件叫b.py,在b.py的开头写上from a import afunc,这样你在b.py中就可以使用afunc()了。

以上是 有一个函数名(字符串形式),如何能够调用这个函数? 的全部内容, 来源链接: utcz.com/a/164246.html

回到顶部