eval和exec的区别
eval函数
计算指定表达式的值(内容为字符串)eval相当于交互模式下输入内容。也就是说它要执行的Python代码只能是单个运算表达式,而不能是复杂的代码逻辑
f = "3+6+9+8" s = eval(f) print(s) # 26
exec函数
exec可以执行复杂的Python代码,而不像eval函数那么样只能计算一个表达式的值
code = ''' def func(): print('test') return 555 func() ''' f = exec(code) # test print('---'*5) # --------------- print(f) # None
eval()函数可以有返回值,而exec()函数返回值永远为None。