今天有个小程序想要在函数名列表中调用相应的函数处理,却怎么运行不了。初始代码如下:
#coding:utf8 def h1(): print ‘函数1‘ def h2(): print ‘函数2‘ if __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
这样就好理解了。
eval函数记录
时间: 2024-10-30 15:30:23