美文网首页
Python 3.7 中的新增功能

Python 3.7 中的新增功能

作者: 虚心的锄头 | 来源:发表于2022-05-18 15:58 被阅读0次

    Python 3.7 中的新增功能 -- 官网

    本文解释了 Python 3.7 相比 3.6 的新增特性。Python 3.7 于 2018 年 6 月 27 日发布。完整的详情可参阅 更新日志

    新的语法特性:

    • PEP 563,类型标注延迟求值。
    向后不兼容的语法更改:
    新的库模块:
    新的内置特性:
    对 Python 数据模型的改进:
    • PEP 562, 自定义可访问的模块属性。
    • PEP 560, typing模块和泛型类型的核心支持。
    • dict 对象会保持插入时的顺序这个特性 正式宣布 成为 Python 语言官方规范的一部分。
    标准库中的重大改进:
    CPython 实现的改进:
    C API 的改进:
    • PEP 539,用于线程本地存储的新 C API
    文档的改进:

    此版本在诸多方面有显著的性能改进。性能优化 章节详细列出了它们。
    和之前的 Python 版本存在兼容性的更改列表,请参阅 移植到 Python 3.7 章节。

    PEP 563,类型标注延迟求值
    # 不带类型注解
    def foo(bar, baz):
    ###
    def foo(bar: str, baz: int) -> 'return int':
    
    # 标注延迟求值
    from __future__ import annotations
    

    其他新特性

    • 字典现在保持插入顺序。这在 3.6 中是非正式的,但现在成为了官方语言规范。在大多数情况下,普通的 dict 能够替换 collections.OrderedDict。
    • .pyc 文件具有确定性,支持可重复构建 —— 也就是说,总是为相同的输入文件生成相同的 byte-for-byte 输出。
    • 新增contextvars模块,针对异步任务提供上下文变量。
    • main中的代码会显示弃用警告(DeprecationWarning)。
    • 新增UTF-8模式。在Linux/Unix系统,将忽略系统的locale,使用UTF-8作为默认编码。在非Linux/Unix系统,需要使用-X utf8选项启用UTF-8模式。
    • 允许模块定义getattrdir函数,为弃用警告、延迟import子模块等提供便利。
    • 新的线程本地存储C语言API。
    • 更新Unicode数据到11.0。

    相关文章

      网友评论

          本文标题:Python 3.7 中的新增功能

          本文链接:https://www.haomeiwen.com/subject/abkaurtx.html