6 月 27 日,期待已久的 Python 3.7.0 正式发布,与之同行的还有 3.6.6 版本的更新。此次,最新版的 Python 3.7.0 带来了诸多的新功能和优化,接下来,让我们一睹为快。
▌Python 3.7.0 主要更新
新的语法特性:
PEP 563:推迟评估评类型注释
class C:
@classmethod
def from_string(cls, source: str) -> C:
...
def validate_b(self, obj: B) -> bool:
...
class B:
...
向后不兼容语法更改:
async 和 await 保留关键字
新的库模块:
contextvars:PEP 567 - 上下文变量
dataclasses:PEP 557 - 数据类
importlib.resources
新的内置功能:
PEP 553:新的 breakpoint() 函数
Python 数据模型改进:
PEP 562:访问模块属性,可定制;
PEP 560:类模块和泛型类型的核心支持;
dict 对象的插入顺序保存特性已被声明为 Python 官方的语言规范中。
标准库重要改进:
asyncio 获得新的功能,可用性和性能提高
time 模块获得对纳秒级分辨率功能的支持
CPython 实现改进:
避免使用 ASCII 作为默认文本编码:
PEP 538:将传统的 C 语言环境强制转换为基于UTF-8的语言环境
PEP 540:强制 UTF-8 模式
PEP 552:deterministic .pycs
新的 development runtime mode
PEP 565:改进 DeprecationWarning 处理
C API 改进:
PEP 539:用于线程本地存储(Thread Local Storage,简称 TLS)的新 C API
文档改进:
PEP 545:Python 文档翻译
新增文档翻译:日语、法语和韩语
▌对于 Windows 用户的影响
AMD64 的二进制文件适用于实现 Intel 64 架构的处理器上工作。(也称为“x64”架构,以前称为“EM64T”和“x86-64”)。
现在有 Windows 平台的“基于Web”的安装程序; 安装程序将在安装时下载所需的软件组件。
有包含Windows构建的可再发行的zip文件,可以很容易地将Python作为另一个软件包的一部分进行重新分发。
▌对于 macOS 用户的影响
Python 3.7.0 ,提供了两个二进制安装选项供下载。默认版本仅支持 64 位,适用于 macOS 10.9(Mavericks)和更高版本的系统。同时还继续提供适用于 macOS 10.6(Snow Leopard)的 64 位/ 32 位版本。 现在,这两种变体都配备了电池供电的 Tcl / Tk 8.6 版本,适用于 IDLE 和其他基于 tkinter的 GUI应用程序;第三方 和Tcl / Tk 的系统版本不再使用。 除非你正在构建需要在较早的 macOS 系统上工作的 Python 应用程序,那么可以考虑使用新的 macOS 10.9 64 位安装程序。
这两个 python.org 安装程序变体都包含 OpenSSL 1.1.0 的副本。 请仔细阅读安装期间显示的重要信息,以获取有关 SSL / TLS 证书验证和 Install Certificates.command 的信息。
▌相关链接
各项完整的更改详情请查阅:
https://docs.python.org/3.7/whatsnew/3.7.html
Python 3.7.0 下载地址:
https://www.python.org/downloads/release/python-370/
Python 3.6.6 下载地址:
https://www.python.org/downloads/release/python-366/
征稿啦!
————— 推荐阅读 —————
点击图片即可阅读