python中的eval跟int有什么区别,python eval是什么类型
1、eval函数
函数的作用:
计算表达式的值。也就是说,它要执行的Python代码只能是单一的运算表达式(注意eval不支持任何形式的赋值运算),而不是复杂的代码逻辑,类似于lambda表达式。
函数定义:
eval(expression,globals=None,locals=None)参数说明:
Expression:必选参数,可以是字符串,也可以是任意代码对象实例(可以由compile函数创建)。如果是字符串,它将被分析和解释为Python表达式(使用全局和局部名称空间)。
Globals:可选参数,表示全局名称空间(存储全局变量)。如果提供,它必须是一个字典对象。
Locale:可选参数,表示当前的本地名称空间(存储本地变量)。如果提供,它可以是任何映射对象。如果忽略此参数,它将采用与globals相同的值。
如果全局和本地都被忽略,它们将采用调用eval()函数的环境的全局名称空间和本地名称空间。
返回值:
如果expression是一个code对象,并且在创建code对象时,compile函数的mode参数为‘exec’,那么eval()函数的返回值为None;
否则,如果expression是输出语句,比如print(),eval()返回的结果是None;
否则,表达式expression的结果就是eval()函数的返回值;
2、exec函数
函数的作用:
动态执行Python代码。也就是说,exec可以执行复杂的Python代码,而不是像eval函数那样计算表达式的值。
函数定义:
exec(对象[,全局[,局部]])参数说明:
Object:必选参数,表示要指定的Python代码。它必须是字符串或代码对象。如果object是一个字符串,该字符串将被解析成一组Python语句,然后执行(除非有语法错误)。如果对象是一个代码对象,那么它只是被执行。
Globals:可选参数,与eval函数相同。
Locals:可选参数,与eval函数相同。
返回值:
exec函数的返回值总是None。
需要注意的是,exec不是Python 2中的一个函数,而是一个内置语句,但是Python 2中有一个execfile()函数。可以理解为Python 3把exec的statement和execfile()函数的功能整合成了一个新的exec()函数。
Eval()函数与exec函数的区别
eval()函数只能计算单个表达式的值,而exec()函数可以动态运行代码段。
eval()函数可以有返回值,而exec()函数的返回值始终为None。
eval:
您可以将字符串中的字符转换为可执行代码,但是只支持一行字符。可以返回执行后获得的值。如下所示:
f=3 6 9 8
s=eval(f)
打印输出:
c : \ program files \ python 3 \ python 3 . exe d :/codes _ py3/luhy _ tool/string _ utils/my method . py
26exec:
您可以将字符串中的字符转换为可执行代码,并且可以支持多行字符。但是无法获得返回结果。如下所示:
代码=
deffunc():
打印(“测试”)
return555
函数()
f=执行(代码)
打印(- *5)
打印输出:
c : \ program files \ python 3 \ python 3 . exe d :/codes _ py3/luhy _ tool/string _ utils/my method . py
试验
-
许多非python培训视频在流行的IT软件开发工作室都有。欢迎在线学习!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。