老男孩教育专注IT教育10余年,只培养IT技术精英

全国免费咨询电话(渠道合作):400-609-2893

Python中eval的基本用法详解!

老男孩IT教育

常见问题

2023年3月6日 18:10

eval是Python中比较常用的函数之一,该函数可以计算字符串中有效的表达式,并返回结果,还可以将字符串转成相应的对象,还可以将利用反引号转换的字符串再反转回对象,本篇文章为大家详细的介绍一下Python中eval的基本用法!

  eval是Python中比较常用的函数之一,该函数可以计算字符串中有效的表达式,并返回结果,还可以将字符串转成相应的对象,还可以将利用反引号转换的字符串再反转回对象,本篇文章为大家详细的介绍一下Python中eval的基本用法!

Python培训学校

  Python中eval的用法:

  Python eval()函数的功能:将字符串str当成有效的表达式来求值并返回计算结果。

  语法:

  eval(source[,globals[,locals]]) -> value

  参数:

  source:一个Python表达式或函数compile()返回的代码对象。

  blobals:可选。必须是dictionary

  locals:可选。任意map对象

  如果提供了globals参数,那么它必须是dictionary类型;如果提供了locals参数,那么它可以是任意的map对象。

  Python的全局名字空间存储在一个叫globals()的dict对象中;局部名字空间存储在一个叫locals()的dict对象中。我们可以用print(locals())来查看该函数体内的所有变量名和变量值。

  x = 1

  y = 1

  num = eval("x+y")

  print('num',num)

  def g():

  x = 2

  y = 2

  num1 = eval("x+y")

  print('num1',num1)

  num2 =eval('x+y',globals())

  print('num2',num2)

  num3 = eval("x+y",globals(),locals())

  print('num3',num3)

  g()

  num2

  num1 4

  num2 2

  num3 4

  解析:num2因为有globals所以是全局变量,执行后结果为4;num3既有globals又有locals,仅在此情况下,优先采用locals的值,故计算结果是2。

  老男孩教育是Python培训领域的专家,2012年就开展了Python培训,是行业较早的Python培训机构,积累了大量的Python培训教学经验,并能全局把控企业用人指标,科学的制定Python教学课程体系,满足5-8年职业生涯需求,让学员轻松拿下高薪职位!

  推荐阅读:

  Python面试常见问题有哪些?

  Python中33个保留字分别指什么意思?

  Python数字类型有哪些?

本文经授权发布,不代表老男孩教育立场。如若转载请联系原作者。