位置: 编程技术 - 正文

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

  • 公司支付的房租押金怎么入账
  • 丢失增值税专用发票最新规定
  • 企业所得税行业所得率
  • 农产品增值税加计扣除可以补申报吗
  • 运输发票抵扣联丢了
  • 房屋维修基金帐户怎么查
  • 出差加油算什么费用
  • 一般纳税人什么情况可以开3%的发票
  • 记账凭证如何填写明细科目
  • 转给子公司发工资分录
  • 亏损企业能不能无常捐赠
  • 总分机构如何纳税
  • 会员卡收费怎么办理
  • 购入办公楼的入账价值
  • 税后工资反推税前工资计算方法
  • pdf格式发票怎么打印标准大小
  • 内部退养个税计算方式
  • 银行处置以物抵债违法吗
  • 版权使用费属于什么税目
  • 资金账簿印花税滞纳金怎么算
  • 投资性房地产公允价值模式账务处理
  • 同一控制下企业合并权益抵消
  • 交了车船税有什么凭证
  • thinkphp6验证器
  • typecho安装插件
  • 暂估成本能挂账多久
  • php中??
  • 民间非营利组织会计账务处理
  • 清算公司资产怎么入账
  • 收到现金股利会引起什么变化
  • 商业银行提取的贷款损失准备金
  • 主营业务收入含义
  • php投票系统代码
  • laravel创建model
  • 会计科目分类有几种方法
  • 缺陷修饰
  • phpcms怎么用
  • 无法支付其他应用怎么办
  • 信用减值损失需要纳税调整吗
  • 工业企业采购部工作职责
  • 铁路运费的印花税进什么科目
  • 奖金属于职工福利薪酬吗
  • 外贸企业收款有限额吗
  • Ficstar Software � Web Data Extraction Tools
  • 车辆购置税能否融资租赁
  • 海关报关单位注销操作规程
  • 公户直接转给私人账户违法么
  • 融资租赁担保余值例题
  • 农业发展公司有没有库存商品的
  • 扣缴税款和情形有关系吗
  • 保理业务的内容有哪些
  • 坏账准备怎么做底稿
  • 捐赠 赞助 区别
  • 对公账户的钱怎么用
  • 给供应商支付货款的付款申请由谁提出
  • 公司租赁厂房
  • 应交税费的记账分录
  • 发票有什么重要性
  • 以前年度不合规发票如何调年报
  • 支付劳务费是劳务所在地吗
  • 补税的会计分录
  • 美金形式发票
  • Mac OS10.11下mysql5.7.12 安装配置方法图文教程
  • windows性能监视器横坐标
  • linux挂载windows共享文件命令
  • window7发布
  • osx怎么用
  • opengl编程语言
  • oracle创建emp表
  • js存储
  • node发送短信
  • cmd命令行
  • jquery怎么遍历
  • android隐藏图片
  • 22号天蝎座的运势
  • 重庆网上税务局个人怎么绑定企业账户
  • 人防异地建设费标准
  • 青岛市市南区税务局第一税务所
  • 网上怎么变更
  • 补贴收入有哪些
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设