最新的Python 3.7版本次日发布,与众不同!

Python与机器学习 徐 自远 729℃

看到官网说的Python 3.7版本发布时间,我们知道期待已久的时刻终于到来了,离2018-6-29开始倒计时了。

Python 3.7是一个比较中庸的版本,重点是PEP 562 。

PEP 562的作用

可以在模块下定义__getattr__和__dir__方法,实现定制访问模块属性。

弃用某些属性/函数时(私信小编001 、002 、003 、007任意一个获取Python学习资料)

  1. 用新属性不能提示DeprecationWarning,只能够在模块级别加warn
  2. 当找不到属性/函数会直接报错,不能做特殊处理
  3. 当模块下弃用的函数多时,只能够在每个函数的内部加warn,再去执行新函数逻辑

但是最新的Python 3.7版本就不存在这个问题

效果:

懒加载

其实,有需求才加载,是一种设计模式。

在以前的Python版本中import模块成功的方法是,在模块里面把相关的属性、函数和类等都准备好,然而import模块时候还是比较重的,在Python3.7版本中由PEP 562,能够极大的提升import的效率,特别是导入了很重的逻辑。

例:

能看出import lib的时候,HeavyClass没有加载,当第一次使用lib.submod的时候HeavyClass才会加载。

在标准库的应用,例:bpo-32596中修改 concurrent.futures 模块:

速度大概是有明显提升的,大概在百分之十五左右

 

最新的Python 3.7版本次日发布,与众不同!http://t.jinritoutiao.js.cn/JRSWob/

转载请注明:徐自远的乱七八糟小站 » 最新的Python 3.7版本次日发布,与众不同!

喜欢 (0)

苏ICP备18041234号-1 bei_an 苏公网安备 32021402001397号