python中的eval跟int有什么区别,python eval是什么类型

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: