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的主要内容,如果未能解决你的问题,请参考以下文章