如果你关注编程方面的新闻,你这几天一定看到了Python3.7发布的消息。 如果读者你和我一样也是个Pyhton爱好者的话,你可能会看看具体有哪些更新。 根据https://docs.python.org/3/whatsnew/3.7.html#summary-release-highlights 发布的内容来看,Python3.7的新特性有不少。但是目前看起来最受关注的是新增加的内建断点特性。这个特性可以帮助开发者在开发python应用的过程中更方便的调试。另外时间模块支持到了纳秒级别的精度,这个也会很有意思。

新增语法:

  • PEP 563, 延迟的类型注释评价.

向后不兼容的语法变化:

  • async 和 await 成为了保留关键字(reserved keywords).

新增加模块:

  • contextvars: PEP 567 – 上下文变量
  • dataclasses: PEP 557 – 数据类
  • importlib.resources

新的内建特性:

  • PEP 553, 新增加 breakpoint() 函数.

Python 数据模型改进:

  • PEP 562, 访问模块属性可以定制化.
  • PEP 560, 类型模块和通用类型受到核心的支持
  • the insertion-order preservation nature of dict objects has been declared to be an official part of the Python language spec.

对标准库的明显改进:

  • asyncio 模块新增加一些特性,显著提升了稳定性和性能
  • time 时间模块支持纳秒级别的精度

CPython 实现的改进:

  • 避免默认使用ASCII作为默认文本编码:
    • PEP 538, legacy C locale coercion
    • PEP 540, 强制使用UTF-8 运行时模式
  • PEP 552, 确定性的 .pycs
  • 全新的开发运行时模式(development runtime mode)
  • PEP 565, 改进废弃警告的处理模块

C API 改进:

  • PEP 539, 新的线程本地存储接口

帮助文档更新:

  • PEP 545, 帮助文档翻译为其他语言
  • 新版帮助文档支持: 日语, 法语, 韩语.

此次改进的地方还有很多值得关注的地方,更多的内容直接上官网去看吧: