【flag】 python 函数:eval 和 exec 语法

eval() 和 exec() 均用于把字符串当作表达式执行

eval 返回表达式执行结果

exec 无返回值

语法:

    

1 eval(string_code,globals=None,locals=None)
2 
3 exec(string_code,globals=None,locals=None)

 

🌰:

1 x = 100
2 y = 200
3 z1 = x + y
4 z2 = eval('x + y')
5 print(z1,z2)

结果:

300 300

 

 

🌰:

1 x =100 
2 y =100
3 z1 = x + y
4 z2 = exec('x + y')
5 z3 = exec('print("x + y =","x + y")') # 注意字符串是函数内全部内容都是字符串形式
6 # 错误写法:z = exec((print("x + y =","x + y")))
7 z4 = eval('print("x + y =","x + y")') # 这种写法 失去了返回值
8 print(z1,z2,z3,z4)

结果:

x + y = x + y
x + y = x + y
200 None None None

 

posted @ 2018-08-08 18:35  鸟茫然  阅读(377)  评论(0编辑  收藏  举报