当前位置: 首页 > news >正文

python3 --- locale命名空间让程序更加安全了

简介

  由于python-2.x 并没有locale这个层次的命名空间,所以临时变量有可能会泄漏,进而影响到了包涵它的命名空间

 

看一下pyhont-2.x是怎么泄漏临时变量的

python
Python 2.7.10 (default, Aug 17 2018, 17:41:52) 
[GCC 4.2.1 Compatible Apple LLVM 10.0.0 (clang-1000.0.42)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> x = 100
>>> s = [x for x in range(10) ]
>>> x
9
>>>

  可以看到列表推导中用的临时变量x泄漏导致变局命名空间中的x被污染

 

看一下python-3的情况

python3
Python 3.6.2 (v3.6.2:5fd33b5926, Jul 16 2017, 20:11:06) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> x = 100
>>> s = [x for x in range(10) ]
>>> x
100

  可以看到临时变量并没能污染到全局变量、多亏了python-3的locale命名空间

 

总结

  由于 python2 ~ python3 多出了一个locale命名空间,影响是非常深远的;编写代码的时候要多加小心。 

---

转载于:https://www.cnblogs.com/JiangLe/p/10326070.html

相关文章:

  • 学习第一周
  • C# 8将为断言和自动化测试带来Caller Expression Attribute
  • 原生js商品排序
  • 河南减税红利:顶格50%减征 小微企业受益面达98%
  • 迷你音乐播放器v1.0正式上线!
  • CNCF 技术监督委员会首添中国面孔,阿里巴巴李响入选全球9人名单
  • 更换VC后DDC提示证书不可用
  • 用户超5亿,三年投10亿,开发者如何抢滩支付宝小程序蓝海?
  • 自由软件基金会主席 RMS 谈全面监控
  • 聊聊flink的CsvTableSource
  • Java面向对象及其三大特征
  • canvas 五子棋游戏
  • 12-dm-permissions.rules
  • 我的建站经历(一)
  • IDEA常用插件整理
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • 【跃迁之路】【669天】程序员高效学习方法论探索系列(实验阶段426-2018.12.13)...
  • Android路由框架AnnoRouter:使用Java接口来定义路由跳转
  • Essential Studio for ASP.NET Web Forms 2017 v2,新增自定义树形网格工具栏
  • flutter的key在widget list的作用以及必要性
  • javascript数组去重/查找/插入/删除
  • magento2项目上线注意事项
  • Material Design
  • 闭包,sync使用细节
  • 回顾2016
  • 聊聊redis的数据结构的应用
  • 浅谈Kotlin实战篇之自定义View图片圆角简单应用(一)
  • 手机端车牌号码键盘的vue组件
  • 通过npm或yarn自动生成vue组件
  • AI又要和人类“对打”,Deepmind宣布《星战Ⅱ》即将开始 ...
  • Mac 上flink的安装与启动
  • NLPIR智能语义技术让大数据挖掘更简单
  • zabbix3.2监控linux磁盘IO
  • 说说我为什么看好Spring Cloud Alibaba
  • ​七周四次课(5月9日)iptables filter表案例、iptables nat表应用
  • ​一文看懂数据清洗:缺失值、异常值和重复值的处理
  • #DBA杂记1
  • (003)SlickEdit Unity的补全
  • (机器学习-深度学习快速入门)第三章机器学习-第二节:机器学习模型之线性回归
  • (利用IDEA+Maven)定制属于自己的jar包
  • (十三)Java springcloud B2B2C o2o多用户商城 springcloud架构 - SSO单点登录之OAuth2.0 根据token获取用户信息(4)...
  • (一)spring cloud微服务分布式云架构 - Spring Cloud简介
  • (转)【Hibernate总结系列】使用举例
  • (转)Groupon前传:从10个月的失败作品修改,1个月找到成功
  • ... fatal error LINK1120:1个无法解析的外部命令 的解决办法
  • .htaccess配置重写url引擎
  • .NET DataGridView数据绑定说明
  • .NET Framework杂记
  • .NET Micro Framework初体验(二)
  • .net web项目 调用webService
  • .Net 中Partitioner static与dynamic的性能对比
  • .net分布式压力测试工具(Beetle.DT)
  • .考试倒计时43天!来提分啦!
  • ?.的用法
  • @property括号内属性讲解