eval和exec的区别
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。