首页 > 编程语言 > 详细

python eval

时间:2016-03-12 22:38:11      阅读:492      评论:0      收藏:0      [点我收藏+]

缘起

小例子

def test_1(val):
    print "val", val, type(val)

def test_2(val):
    print "val", val, type(2)

if __name__ == "__main__":
    for i in [1, 2]:
        eval("test_" + str(i))(i)
        

执行结果

val 1 <type int>
val 2 <type int>

分析:利用eval函数,把字符串“test”和“1”组合成函数名test_1(test_2同样),挺神奇的,第一次见到这么用。

eval函数

eval()将字符串str当成有效的表达式来求值并返回计算结果

例子1

>>> x = 1
>>> y = 2
>>> print eval("x+y")
3

例2

>>> a = "{‘a‘:1, ‘b‘:[1, 2, 3]}"
"{‘a‘:1, ‘b‘:[1, 2, 3]}"
>>> eval(a)
{a: 1, b: [1, 2, 3]}

>>> print type(eval(a))
<type dict>

危险性

备份下:http://blog.donews.com/soarnil/archive/2007/02/28/1134203.aspx

python eval

原文:http://www.cnblogs.com/kaituorensheng/p/5270133.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!