python中eval的用法是什么


本文摘自php中文网,作者coldplay.xixi,侵删。

python中eval的用法:将字符串str当成有效的表达式来求值并返回计算结果,语法为【eval(source[, globals[, locals]]) -> value】。

本教程操作环境:windows7系统、python3.9版,DELL G3电脑,该方法适用于所有品牌电脑。

python中eval的用法:

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

语法:

1

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

参数:

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

  • globals:可选。必须是dictionary

  • locals:可选。任意map对象

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

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

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()

  

num 2

num1 4

num2 2

num3 4

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

相关免费学习推荐:python视频教程

以上就是python中eval的用法是什么的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

Python能做什么的

一文彻底搞懂Python切片操作

Python适合网页编程吗

Python代码段有哪些

搭建 Python +pycharm+django将sqlite3 迁移到mysql

Python工作好找吗

Python中命名空间的三种方式介绍(附示例)

Python笔试题之设计“跳一跳”小游戏计分器

Python中spyder怎么安装

Python中文是什么意思

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...

    暂无评论...