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。

浙公网安备 33010602011771号