2016 年 12 月 23 日,Python 社区发布了 Python 3.6.0,这是流行编程语言的最新版本。 即将到来的 Fedora 26日发布将 包括 Python 3.6.0。
用户 跑步 Fedora R暂时 已经e享受 蟒蛇 3.6。 想要体验的人 这 新的 Python 功能 Fedora 25 或者 Fedora 24,现在可以使用 python36 包。
sudo dnf install python36
然后,您可以使用命令 python36 或 python3.6 调用新版本的 shell。
Python 3.6.0 (default, Jan 31 2017, 00:05:46)
[GCC 6.3.1 20161221 (Red Hat 6.3.1-1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
Python 3.6 带来了许多新的增强和优化。 本文简要概述了预期内容。 有关新功能的完整列表,请查看 上游文档.
米重大变化
格式化的字符串文字(f-strings)
Python 3.6 使用新的 f-string 提供格式字符串的编译时处理 文字:
print(f"There were {len(docs)} found. First title: {docs[0].title}.")
这些有双重好处。 新的文字更快 比运行时格式化,因为字符串被分解成文本 编译时的段和字段表达式。 这导致零 运行时字符串解析开销。 它们也更容易阅读, 因为您不需要将表达式映射到他们的 对应的字段。 它们就在字符串中。 文字特别 有助于编写脚本用例。
**kwargs 中元素的顺序
ķ关键字参数现在保留它们的顺序。 所以 collections.OrderedDict(first=1, second=2, third=2) 终于奏效了 你期望它工作的方式。 以前明显的键顺序 在调用的过程中会丢失源代码 构造函数.
秘密ts 模块
吨他新 秘密 模块为安全令牌提供了方便的助手 以各种格式生成(例如字节、十六进制字符串、base64 字符串)具有合理的默认熵.
数字文字中的下划线
ü数字文字中的 nderscores 让你 打破魔法 常量以使它们更易于阅读。 例如,您可以表示常量,如 10_000_000.0、0xCAFE_F00D、 0b_0011_1111_0100_1110.
文件系统路径协议
米更多标准库 API,包括内置 打开(), 现在 支持 pathlib.路径 和 pathlib.PurePath 通过新的对象 os.fspath() 协议。 这种变化也意味着许多第三方 库也间接获得对这些协议的支持, 自从 他们隐含地委派了开辟标准之路的任务 库 API.
OpenSSL 和 hashlib
支持 OpenSSL 1.1.0,以及额外的散列(BLAKE2, SHA-3、SHAKE)和密钥派生(scrypt)算法.
其他显着变化
从安全角度来看, os.urandom() 现在还提供了一个 保证阻止或返回适合的结果 加密使用。 这意味着需要在 系统熵池尚未初始化,应该切换 使用:
- 随机模块,如果它不需要加密等级 随机性,或
- 新的 os.getrandom() API,使用 系统调用的非阻塞变体。
对于使用基于协程的新原生 async/await 语法的人 服务开发,该语法已通过临时扩展 支持异步理解、生成器定义和 生成函数。 这允许异步代码访问更多 开发人员在纯粹使用时习惯的细节 同步代码。
对于使用 mypy 或其他类型推理引擎之一的开发人员 Python,为声明性变量添加了临时支持 允许推理引擎在值绑定时抱怨的注释 对变量不遵守预期的约束。 这 解释器本身在运行时不关注这些注解, 就像它不检查函数注释一样。
对于编写国际化应用程序的开发人员,Unicode 数据库 已更新至 9.0.0.
对于那些调试更复杂的应用程序,新的 PYTHONMALLOC 环境变量允许您切换运行时的内存 分配器进入调试模式(PYTHONMALLOC=调试) 或完全绕过它 (PYTHONMALLOC=malloc)。 详情可查 这里.
还与应用程序调试有关, -X tracemalloc 现在选择 打印时提供资源分配回溯 资源警告 对于非确定性清理的资源。
还对性能进行了一系列改进 CPython。 这一变化得到了显着的帮助 一个新的基准测试实用程序(性能) 和一个新的基准套件 对于 Python 解释器(表现)。 查看 速度.python.org 为了 3.5 对 3.6 性能数据.
试用 Python 3.6
如果您有一个 Python 项目,当然还有一组很好的测试,那么现在是开始在 Python 3.6 中运行它们的合适时机。 使用可用的 Python 测试工具,如 tox,以确保您的软件在不同的 Python 版本上正确运行。 有关详细信息,请参阅 Fedora 开发者门户.