位置: 编程技术 - 正文

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

  • 劳务费发票报销
  • 金税盘如何交服务费
  • 完税证明缴纳额是如何算出来的
  • 增值税留抵退税是什么意思
  • 卖家电税是多少
  • 加计扣除进项税账务处理
  • 监理行业增值税税率多少
  • 划转税务的非税发票
  • 快速撕发票的方法有哪些
  • 怎么办开户许可证
  • 劳务费做账是否需要发票
  • 古董卖给公司
  • 无形资产的使用
  • 涉外收入申报单填写模板
  • 固定资产完工前盘亏的工程物资净损失
  • 发行长期债券会计分录例题
  • 建筑公司对外如何开票
  • 企业理财产品收益要交企业所得税吗
  • 企业账户短信提醒可以用别人手机号吗
  • 附加税的税率表
  • 企业所得税多交了必须退税吗
  • 销售退回冲减主营业务收入吗
  • 一季度所得税费用怎么算
  • vue获取当前页面请求头信息
  • linux中链接
  • 收到税局退回增值税
  • ahqtb.exe是啥进程 ahqtb进程信息查询
  • 注销库存股的会计分录怎么理解
  • 实习生究竟该怎么缴个税?
  • 浅谈php的排列组合
  • sql数据库语句基本语法
  • 前端使用vue
  • 发票查真伪是什么意思
  • WIN11系统CPU占用率高
  • 认缴制情况下 公司一定要出资到位再注销吗
  • 投标保证金的缴纳方式有哪些
  • 会议费可以开餐费吗
  • 差额增收企业怎么做账
  • 管理费用属于损益类吗
  • 火车票报销抵扣比例是多少
  • 金税卡就是税控盘吗
  • 增量留底退税基金怎么算
  • 股东撤资如何退还资金,用途写什么
  • 小规模企业提现到自己个人银行卡需要交多少税
  • 印花税的征税范围口诀
  • 应缴财政专户款年末有余额吗
  • 代开发票取得的收入如何入账?
  • 软件企业技术开发增值税税率
  • 厂房出租租金收税吗
  • 政府给的专款专用的补贴需要交税吗
  • 企业取得生产或制造某项财产物资时
  • 小规模开专票的税点是多少
  • etc发票申请流程
  • 投标保证金退回是不是没中标
  • 会计收入的定义和分类
  • 解析关于sql语句的实现
  • sql数据库死锁产生的原因及解决方案
  • window10安装mysql5.7
  • xp系统中文语言包
  • win7系统怎么把桌面文件放到d盘
  • win8系统运行慢怎么办
  • win10自带的音乐播放器groove如何设置
  • 进程中svchost
  • Win10 Mobile RS2预览版14926升级错误代码800703ed的解决方法
  • mac怎么打出@符号
  • win7系统补丁包
  • windows8中“同步你的设置”使用介绍(让你的设置自动同步)
  • win10每周更新
  • linux !!
  • cocos2d android 游戏开发学习——CCAction(二)
  • 微信小程序异步回调函数
  • 表单javascript
  • jquery使用教程
  • css应用领域
  • 魅蓝notezol
  • unicode类型 python
  • javascript实现3D切换焦点图
  • js怎么设置字体
  • 公司自有房产出租缴税
  • 地税局社保宣传标语
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设