Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。Python 3.6.2是Python 3.6的第二个维护版本。Python 3.6系列包含许多新功能和优化。
Python 3.6新功能
语法新功能:
PEP 498, formatted string literals.
PEP 515, underscores in numeric literals.
PEP 526, syntax for variable annotations.
PEP 525, asynchronous generators.
PEP 530: asynchronous comprehensions.
新库模块:
secrets:PEP 506 - 将秘密模块添加到标准库。
CPython实现改进:
该字典类型已重新实现使用更紧凑的表示 基于由雷蒙德·赫廷格的建议 和类似PyPy字典实现。与Python 3.5相比,这使得字典的内存减少了20%到25%。
通过新协议简化了类创建的定制 。
类属性定义顺序 现在被保留。
kwargs现在 元素的顺序对应于将关键字参数传递给函数的顺序。
添加了DTrace和SystemTap 探测支持。
现在可以使用新的PYTHONMALLOC环境变量来调试解释器内存分配和访问错误。
标准库的重大改进:
该asyncio模块已经获得了新功能,显着的可用性和性能改进,以及大量的错误修复。从Python 3.6开始,该asyncio模块不再是临时的,其API被认为是稳定的。
已经实现了一种新的文件系统路径协议来支持类似路径的对象。所有在路径上运行的标准库函数都已更新,以配合新协议。
该datetime模块获得了当地时间消歧的支持 。
该typing模块接受了一些 改进。
该tracemalloc模块已经大大改造,现在用于提供更好的输出ResourceWarning 以及为内存分配错误提供更好的诊断。有关详细信息,请参阅PYTHONMALLOC部分。
安全改进:
secrets增加了新模块,以简化适用于管理秘密的密码强伪随机数的生成,如帐号验证,令牌等。
在Linux上,os.urandom()现在阻塞,直到系统urandom熵池被初始化以增加安全性。见PEP 524为理由。
现在hashlib和ssl模块支持OpenSSL 1.1.0。
ssl模块的默认设置和功能集已经改进。
该hashlib模块支持BLAKE2,SHA-3和SHAKE散列算法以及scrypt()密钥导出功能。
更新日志
新构建目标make regen-all
为了简化交叉编译,并确保CPython可以可靠地编译,而不需要现有的Python版本可用,基于自动工具的构建系统将不再尝试根据文件修改时间对生成的文件进行隐式重新编译。
相反,已经添加了一个新命令,以在需要时强制重新生成这些文件(例如,在基于预生成版本的Python的初始版本已经构建之后)。make regen-all
还可以定义更多选择性的再生目标 - 详见 Makefile.pre.in。
删除构建目标make touch
以前用于通过更新其修改时间来请求隐式再生生成的文件的构建目标已被删除。make touch它已被新的目标所取代。
make regen-all
∨ 展开