python中的exec和eval

Posted `关关雎鸠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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))。

 

以上是关于python中的exec和eval的主要内容,如果未能解决你的问题,请参考以下文章

[转]Python中的eval()exec()及其相关函数

python exec内置表达式--exec()

python exec eval

什么相当于Python中的Bash的exec $ @?

python的exec()函数的c++版本

Python中的eval()exec()及其相关函数(转)