位置: 编程技术 - 正文

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

  • 城建税的税目是哪些
  • 外资企业能投资国企么
  • 企业所得税弥补亏损明细表怎么填写
  • 单位借款是否纳税
  • 地税补缴社保
  • 小规模纳税人教育费附加和地方教育费附加减免
  • 专用发票二维码压线
  • 加计扣除是什么意思举例说明农产品
  • 投资企业应确认投资收益的有
  • 员工午餐费要交个税吗
  • 在途物资的会计凭证怎么做
  • 以前购买的固定资产现在入账
  • 药品回扣2021
  • 投资公司收回投资款
  • 销售退回跨年所得税如何做账?
  • 通讯费税前扣除填报怎么填
  • 垃圾填埋沼气发电招聘
  • 广告公司营改增后的会计分录
  • 残保金属于现金流量表中的哪一项
  • 金银制成的金银币及摆件是否征收消费税?
  • 电脑黑屏怎么办主机还是亮的
  • 物流货损怎样处理
  • php一个页面多个分页
  • 在路由器设置中怎么设置
  • 在建工程明细科目设置
  • shell检查变量是否为空
  • 特殊行业需要缴什么税
  • 应扣未扣应收未收税款是什么意思
  • 哪些房地产项目是国企
  • pytorch :OSError: [WinError 1455] 页面文件太小,无法完成操作。 Error loading 【已解决】
  • 日出时的麦克拱岩,俄勒冈南海岸 (© Dennis Frates/Alamy)
  • 税负太高会预警吗
  • php curl_multi_init
  • ssh怎么带密码
  • JavaScript数组(四):判断数组相等的4种方法
  • 前端进阶路线
  • win10日历点不开
  • mysql binlog是什么
  • 开出租车怎么租车
  • 原始凭证分割单样本图片
  • 记 vue-cli-plugin-dll 使用,优化vue-cli项目构建打包速度
  • 国税办税人员怎么解绑
  • 规模以上企业纳税要求
  • 罚款可以直接在12123
  • 地价计入房产原值文件解读
  • 公司报销金额有限制吗
  • 安家费有税吗
  • 预计负债计提时调减还是调增
  • 小规模纳税人开专票税率是多少?
  • 暂估成本后发票怎么处理
  • 建筑预缴税款什么意思
  • 采用公允价值模式计量的投资性房地产不需要计提折旧
  • 公司按揭贷款
  • 暂估入库成本处理
  • 员工福利费怎么写分录
  • ubuntu 18.04怎么用
  • centos php apache
  • win8右下角图标不见了
  • iphone制造成本
  • QQExternal.exe是什么进程?QQExternal.exe进程为什么被运行?
  • win7可以免费升win10
  • 虚拟机远程控制局域网
  • win7系统如何修改默认浏览器
  • win81和win10
  • 在linux系统中
  • win7硬盘访问权限怎么解除
  • 在linux系统中,用来存放系统所需要的配置文件
  • windows7组织
  • win10系统如何在管理页面设置共享
  • 超人飞车助手下载安装
  • apache2使用
  • 如何检查自己是否抑郁
  • android iframe
  • androidcontext传值
  • 如何用jquery
  • 代码实现观察者模式
  • 浅析是什么意思
  • 发票红冲步骤图片
  • 智云发票集中管理云平台官网
  • 个体户定额怎么查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设