位置: 编程技术 - 正文

详解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邮件发送天气预报的实例

  • 保险税优识别码是保单号吗
  • 内账收入按实际收到确认吗
  • 暂估入库的价格一般会高一些吗
  • 个人所得税减免 租房没有合同编号
  • 一次性就业补助金的领取条件
  • 购货发票属于什么科目
  • 递延收益涉税
  • 固定资产盘盈原因
  • 个体户购买发票需要什么资料
  • 为取得固定资产而发生的什么支出可计入固定资产成本
  • 事业单位如何计提工资
  • 营业以后再次装修进什么会计科目?
  • 企业缴纳社保费一个月多少钱
  • 劳保费计入管理费用的什么
  • 增值税发票清单怎么导出
  • 会计增长知识方面
  • 非居民企业减免的利息是否交增值税
  • 成本票和费用票分别是什么
  • 公司招待技术维护方案
  • 录入凭证利息收入负数怎么录入?
  • 生产企业出租设备如何开票
  • 盈余公积意思大白话解释
  • 从租计征房产税租金收入含税吗
  • 败诉赔偿如何支付
  • 分期收款计提销项税怎么算
  • 个人将租来的房子转租如何交税
  • 出口退税申报里汇率计算方式选择
  • 运输费用入成本还是销售费用
  • 劳务费和服务费一样吗
  • 如何恢复回收站永久删除的文件
  • 非正常损失的进项税额如何计算
  • 退休返聘工资如何申报个人所得税
  • win11系统摄像头黑屏
  • u启动怎么装机
  • pop3服务是什么
  • 大沙丘上的日落图片
  • 外单位承担
  • 员工报销电话费缴纳个税
  • 解决的英文
  • 购买净资产为负的资产
  • 建筑行业施工规范有哪些
  • 应收账款的平均余额怎么计算
  • phpcms视频教程
  • 不接受商业承兑会怎么样
  • 应收帐款出售给银行会计分录
  • 专票抵扣进项税额怎么填申报表呢
  • 公司为职工承担社保费用
  • 企业所得税年度纳税申报表A类
  • 存货资产评估方法
  • 年应税销售额是指纳税人在连续不超过12个月或四个季度
  • 以前年度买的固定资产一直未入账,现在还能入账吗?
  • 去年的亏损今年第一季度可以弥补吗
  • 房地产行业扣税标准
  • 农业合作社账务都有什么科目
  • 残保金怎么做账务处理
  • 工程服务预交税怎么算
  • 跨年度的银行未入账如何处理
  • 工伤费退回会计分录
  • 房地产开发企业销售自行开发的房地产项目
  • 应交增值税怎么求
  • 新冠肺炎疫情相关的公共政策
  • 年末是否要结转所得税
  • 银行汇票如何兑现金
  • 借款利息怎么记账
  • Win10预览版桌面图标和任务栏不翼而飞怎么办?
  • 苹果mac怎么查看运行数据
  • mac os x 10.9.5
  • windowsxp忘了登录密码
  • 怎么知道游戏是什么引擎
  • hyper run
  • 防止 避免
  • linux连接windows的服务redis
  • 电脑升级到win11会卡吗
  • win7怎么设置u盘启动为第一启动项
  • 猫的所有视频
  • unity灯光烘培
  • node.js搭建服务器
  • js密码验证正则表达式
  • 重庆市怎么在网上打印章程
  • 加工中心钻孔进给
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设