python中eval()函数的使用

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

函数定义:

eval(expression, globals=None, locals=None)

将字符串str当成有效的表达式来求值并返回计算结果。globals和locals参数是可选的,如果提供了globals参数,那么它必须是dictionary类型;如果提供了locals参数,那么它可以是任意的map对象。

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

eval()主要作用:

1)在编译语言里要动态地产生代码,基本上是不可能的,但动态语言是可以,意味着软件已经部署到服务器上了,但只要作很少的更改,只好直接修改这部分的代码,就可立即实现变化,不用整个软件重新加载。
2)在machin learning里根据用户使用这个软件频率,以及方式,可动态地修改代码,适应用户的变化。

示例代码1:

a = 1
g = {"a": 20}
print(eval("a+1", g))

运行结果:

示例代码2:

a = 1
b = 3
#  eval() arg 1 must be a string, bytes or code object
num1 = eval("a+b")
print(num1)def g():a = 2b = 4num2 = eval("a+b")print(num2)num3 = eval('a+b', globals())print(num3)num4 = eval("a+b", globals(), locals())print(num4)g()

运行结果:

eval()函数使用:

  • eval函数就是实现list、dict、tuple与str之间的转化

  • str函数把list,dict,tuple转为为字符串

1.字符串转换成列表

示例代码:

#  字符串转换成列表
a = "[[1,2], [3,4], [5,6], [7,8], [9,0]]"
print(type(a))
print(a)
b = eval(a)
print(type(b))
print(b)

运行结果:

2.字符串转换成字典

示例代码:

#  字符串转换成字典
a = "{1: 'a', 2: 'b'}"
print(type(a))
print(a)
b = eval(a)
print(type(b))
print(b)

运行结果:

3.字符串转换成元组

示例代码:

#  字符串转换成元组
a = "([1,2], [3,4], [5,6], [7,8], (9,0))"
print(type(a))
print(a)
b = eval(a)
print(type(b))
print(b)

运行结果:

4.将列表、字典和元组转换成字符串,只需要加上str()字符串转换就可以

示例代码:

#  字符串转换成元组
a = "([1,2], [3,4], [5,6], [7,8], (9,0))"
print(type(a))
print(a)
b = eval(a)
print(type(b))
print(b)
#  将元组在转换成字符串
c = str(b)
print(type(c))
print(c)

运行结果:

python中eval()函数的使用相关推荐

  1. Python中eval函数的表达式如何使用

    这篇文章主要介绍了Python中eval函数的表达式用法示例,文中通过示例对比来为大家进行详细的讲解,有需要的朋友可以借鉴参下,希望有所帮助 eval 是干嘛的? 解析字符串表达式并执行,并返回一个值 ...

  2. python中eval函数和int函数功能一样_python中eval与int的区别浅析

    python中eval和int的区别是什么?下面给大家介绍一下: 1.eval()函数 eval()能够以Python表达式的方式解析并执行字符串,并将返回结果输出.eval()函数将去掉字符串的两个 ...

  3. Python中eval函数的作用

    eval函数就是实现list.dict.tuple,int 与str之间的转化,## 字符串里面包裹什么,就会相应的转换成什么 str函数把list,dict,tuple转为为字符串# 字符串转换成列 ...

  4. python中str和input_python中eval()函数和input()函数用法解析

    今天给大家讲解Python中eval()函数和input()函数的用法,希望通过实例的讲解之后大家能对这两个函数有更加深刻的理解. 1.eval()函数 eval(<字符串>)能够以Pyt ...

  5. python里eval和input组合使用_python中eval()函数和input()函数用法解析

    今天给大家讲解Python中eval()函数和input()函数的用法,希望通过实例的讲解之后大家能对这两个函数有更加深刻的理解. 1.eval()函数 eval()能够以Python表达式的方式解析 ...

  6. python中eval的用法?

    python中eval函数用法如下: 1.计算字符串中有效的表达式,并返回结果. 2.将字符串转成相应的对象(如list.tuple.dict和string之间的转换). 3.将利用反引号转换的字符串 ...

  7. SICP2——Python中使用函数构建对象

    一.使用对象构建抽象 1.1 数据抽象 现在到了数学抽象中最关键的一步:让我们忘记这些符号所表示对象.-根本不必考虑它们到底代表着什么东西. 上一篇文章主要强调的是对数据的操作以及这些操作之间的组合与 ...

  8. python中eval方法的妙用

    python中eval方法的妙用 python中eval的妙用 python中eval的妙用 对于python中的eval函数,通常就知道是一个计算函数,比如: eval("111" ...

  9. python中pop函数_Python中的Pop函数

    python中pop函数 什么是弹出功能? (What is the pop function?) The method pop() removes and returns the last elem ...

最新文章

  1. Linux那些事儿之我是Sysfs(9)sysfs文件系统模型
  2. 计算机组成原理试卷五套,山东理工计算机组成原理五套题之题5
  3. unity应用开发实战案例_Unity游戏案例开发大全 (吴亚峰等著) 完整pdf高清版[31MB]...
  4. b树索引 java_B树索引最通俗易懂的介绍
  5. 机票垂直搜索引擎的性能优化
  6. 小鱼的游泳时间(洛谷-P1425)
  7. fragment重影解决办法
  8. 源码0501-07-GCD的基本使用
  9. [转] 面向对象编程介绍
  10. 自定义rest api的基本思想过程--总结
  11. PHP中try、catch、finally的执行顺序
  12. Win10开机后电脑卡顿-F5刷新反应速度慢问题解决。(C盘清理)
  13. 解决Untracked Files Prevent Checkout问题
  14. 闲的无聊写了个很(wu)有(liao)意(dao)思(bao)的程序
  15. 使用quartz 定时任务
  16. node.js-医院预约挂号系统的设计与实现毕业设计源码141041
  17. 关于安装公司监控软件后导致Mac电脑需要每天重启4次才能连网的解决办法
  18. python图片转素描风
  19. 概率论_证明_切比雪夫大数定律
  20. git master和main 的纠缠

热门文章

  1. 一文读懂机器学习“数据中毒”
  2. ​我国科学家成功研制全球神经元规模最大的类脑计算机
  3. 深度学习基础总结,无一句废话(附完整思维导图)
  4. 智能驾驶L2的黄金时代,打磨地图是关键
  5. 西湖龙井也上链?是的,以后你喝什么茶我都知道!
  6. GitHub标星近1万:只需5秒音源,这个网络就能实时“克隆”你的声音
  7. Google148亿元收购Fitbit,抢占苹果、三星可穿戴设备市场地盘
  8. 鸿蒙霸榜GitHub,从最初的Plan B到“取代Android”?
  9. 揭秘@爱可可:“寂寞呆子”成长记
  10. 【AI竞赛】TinyMind汉字书法识别挑战赛开始报名啦!!