首页 > 代码库 > eval函数记录

eval函数记录

今天有个小程序想要在函数名列表中调用相应的函数处理,却怎么运行不了。初始代码如下:

#coding:utf8def h1():    print 函数1def h2():    print 函数2if __name__ == __main__:    list1 = [h1,h2]    for name in list1:        name()

其实这程序看起来就有点不对劲,最后查了查应该把最后的name上加上eval()函数

for name in list1:    eval(name)()

这样才正常调用了函数。总结一下:

eval(str [,globals [,locals ]])函数将字符串str当成有效Python表达式来求值,并返回计算结果。

如 eval(‘1+2‘) 返回 3

这样就好理解了。