看到官网说的Python 3.7版本发布时间,我们知道期待已久的时刻终于到来了,离2018-6-29开始倒计时了。
Python 3.7是一个比较中庸的版本,重点是PEP 562 。
PEP 562的作用
可以在模块下定义__getattr__和__dir__方法,实现定制访问模块属性。
弃用某些属性/函数时(私信小编001 、002 、003 、007任意一个获取Python学习资料)
- 用新属性不能提示DeprecationWarning,只能够在模块级别加warn
- 当找不到属性/函数会直接报错,不能做特殊处理
- 当模块下弃用的函数多时,只能够在每个函数的内部加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版本次日发布,与众不同!