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。

posted @ 2023-05-10 13:41  sangern  阅读(28)  评论(0编辑  收藏  举报