位置: 编程技术 - 正文

详解python eval函数的妙用(eval()函数python)

编辑:rootadmin

推荐整理分享详解python eval函数的妙用(eval()函数python),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python中eval函数作用,python eval函数用法,python中eval()函数的用法讲解,eval()函数python,python里面eval函数,python里面eval函数,python里面eval函数,python3中eval函数用法简介,内容如对您有帮助,希望把文章链接给更多的朋友!

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

函数定义:

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

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

Python版本兼容:

Python2.7 Python3.x

eval()主要作用:

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

英文解释:

The arguments are a string and optional globals and locals. If provided, globals must be a dictionary. If provided, locals can be any mapping object.

详解python eval函数的妙用(eval()函数python)

The expression argument is parsed and evaluated as a Python expression (technically speaking, a condition list) using the globals and locals dictionaries as global and local namespace. If the globals dictionary is present and lacks ‘__builtins__', the current globals are copied into globals before expression is parsed. This means that expression normally has full access to the standard builtins module and restricted environments are propagated. If the locals dictionary is omitted it defaults to the globals dictionary. If both dictionaries are omitted, the expression is executed in the environment where eval() is called. The return value is the result of the evaluated expression. Syntax errors are reported as exceptions. Example:

例子:

结果:1

例子2, 测试globals, locals

num1的值是2;num3的值也很好理解,是4;num2的值呢?由于提供了globals()参数,那么首先应当找全局的x和y值,也就是都为1,那么显而易见,num2的值也是2。如果注释掉该句,执行下面一句呢?根据第3)点可知,结果为4

实例展示:

可以把list,tuple,dict和string相互转化。

安全问题:

因为eval的特型, 很可能被黑客利用,造成安全问题。

怎么避免安全问题?

1、自行写检查函数;

2、使用ast.literal_eval代替

标签: eval()函数python

本文链接地址:https://www.jiuchutong.com/biancheng/372278.html 转载请保留说明!

上一篇:Python算法之图的遍历(python图论算法)

下一篇:python定时利用QQ邮件发送天气预报的实例

  • 转让无形资产可以免税吗
  • 中级会计报名必须用ie浏览器吗
  • 什么是保函业务?如何进行核算?
  • 2021年销售农机免增值税吗
  • 水电费进项税额怎么抵扣
  • 支付的检测费计入什么科目
  • 税后是含税还是不含税的意思
  • 个人到税务局开发票要带什么东西
  • 代扣代缴公积金有返还吗
  • 电商返佣平台有风险吗
  • 将资产货物用于业务宣传增值税
  • 企业销售商品的业务有什么特点
  • 以非现金资产清偿债务的会计处理
  • 个人转租工厂需交什么税
  • 负债表应交税费为负数
  • 企业开具的增值税专用发票属于
  • 如何理解出口退税政策
  • 租金发票会计分录
  • 工作量法计提折旧会计分录
  • 开专用发票的地址有错会有影响吗?
  • 不得抵扣啥意思
  • 企业可以采用在产品按固定成本计算法的有
  • 分配股利在报表中怎么填
  • 会计核算的一般对象
  • 个人与公司交易超过20万
  • 电脑开机无法启动怎么解决
  • linux系列
  • 系统之家装机可靠吗
  • PHP:pg_field_is_null()的用法_PostgreSQL函数
  • bios中英文对照表图新版
  • 404 not found意思详细介绍
  • 车辆违章罚款的钱上交到那了
  • 土地增值税清算扣除项目
  • html怎么嵌套php
  • 控制器操作视频
  • promise的几种状态
  • 固定资产加速折旧是什么意思
  • 外购存货的成本包括哪些内容
  • 个体工商户如何注销网上
  • mongodb安装教程图解
  • pytest unittest
  • 本年利润有余额是什么意思
  • 清算汇缴报表填写范本
  • 建造合同收入的会计处理
  • 特许经营企业的特点
  • 预付费卡开票
  • 劳务报酬所得是否含增值税
  • 购买材料发生商损怎么算
  • 工程款外地预缴哪些税
  • sql server的基本概念
  • winxp cmd
  • sqlserver存储过程返回多个结果集
  • win8.1配置要求
  • wweb32.exe - wweb32是什么进程
  • linux系统ln命令
  • windows10mobile官网
  • 新款apple macbook air
  • rtos用什么语言
  • 实用的linux命令
  • WIN7系统还原
  • javascript:window.top.space_additem
  • extend列表
  • Extjs3.0 checkboxGroup 动态添加item实现思路
  • android kotlin开发
  • python图片处理酷炫效果
  • 浅谈会计诚信与职业道德论文
  • go 与 python
  • nodejs读取文件夹下的所有文件
  • python日志管理系统
  • javascript高级编程
  • jquery弹出div遮罩层
  • JavaScript、jQuery与Ajax的关系
  • 动态生成类对象
  • python函数入门
  • jquery jsonview
  • 安卓屏幕适配详解
  • 农产品核定扣除办法38号公告
  • 劳办发1994第48号文全文原文
  • 建筑工程异地预缴税款时间限制
  • 广东地税服务电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设