python中的exec和eval

exec

描述

exec 执行储存在字符串或文件中的 Python 语句,相比于 eval,exec可以执行更复杂的 Python 代码。

返回值

exec 返回值永远为 None。

需要说明的是在 Python2 中exec不是函数,而是一个内置语句(statement),但是Python 2中有一个 execfile() 函数。

可以理解为 Python 3 把 exec 这个 statement 和 execfile() 函数的功能够整合到一个新的 exec() 函数中去了。

eval

描述

eval() 函数用来执行一个字符串表达式,并返回表达式的值

返回值

返回表达式计算结果。

exec和eval异同点

1.Exec可处理字符串里面的代码(表达式+符合python语法的代码),而Eval仅能处理字符串里面的表达式。

2.exec无返回值;eval()是执行一个表达式,有返回值 ,比如a=eval('1+1')。

3.exec和eval都可以执行字符串里的函数 如: exec(func(n))  , eval(func(n))。

 

posted @ 2018-06-25 20:41  关关雎鸠`  阅读(305)  评论(0编辑  收藏  举报