Python3.11稳定版本发布,或许是最好的版本

机器学习算法与Python实战

共 1411字,需浏览 3分钟

 ·

2022-11-01 15:46

Python 3.11 稳定版本已正式发布!


Python 以速度慢著称,例如在 Python 中,常规循环比 C 中的类似循环慢几个数量级。

Python 官方正在着手改进这一缺陷。2020 年秋,Mark Shannon 提出了关于 Python 的几个性能改进。这个提议被称为香农计划 (Shannon Plan),他们希望通过几个版本的更新将 Python 的速度提高 5 倍。不久之后微软正式加入该计划,该公司正在支持包括 Mark Shannon、Guido van Rossum 在内的开发人员,致力于「Faster CPython」项目的研究。

「Faster CPython」项目中的一个重要提案是 PEP 659,在此基础上,Python 3.11 有了许多改进。

PEP 659 描述了一种「specializing adaptive interpreter」。主要思想是通过优化经常执行的操作来加快代码运行速度, 这类似于 JIT(just-in-time)编译。只是它不影响编译,相反,Python 的字节码是动态调整或可更改的。

Python被广泛认为是缓慢的。虽然 Python 永远无法达到 C、Fortran 甚至 Java 等低级语言的性能,但我们希望它的速度能够与脚本语言竞争,例如用于 Javascript 的 V8 或用于 lua 的 luajit。我们希望通过 CPython 实现这些性能目标,以使所有 Python 用户受益,包括那些无法使用 PyPy 或其他替代虚拟机的用户。


Python 3.11 中的一些新的主要新特性和变化包括:

一般变化

  • PEP 657 – 在错误信息报告中引入细粒度的 Error Locations

  • PEP 654 –  Exception Groups and except*

  • PEP 680 - tomllib:支持在标准库中解析 TOML

  • bpo-46752 – 将任务组引入 asyncio

  • bpo-433030 – 正则表达式现在支持原子分组 (Atomic grouping):((?>...)),以及占有型量词 (*+, ++, ?+, {m,n}+

  • Faster Cpython Project 已经出现了一些令人振奋的结果:Python 3.11 比 Python 3.10 快 10%~60%。

Typing changes

  • PEP 673  - Self 类型 

  • PEP 655 - 将单个 TypedDict 项目标记为必需或可能缺失

  • PEP 675 - 任意文字字符串类型

  • PEP 681  - Data Class 转换

  • PEP 646  - 可变参数泛型 (Variadic Generics)

感兴趣的同学可以移步官网下载
https://www.python.org/downloads/release/python-3110/


推荐阅读

【2022新书】深度学习R语言实战,568页电子书
用数学和Python入门机器学习核方法 · 电子书
超全干货2万字全文!李航《统计学习方法》读书笔记
《机器学习算法与Python实战》:搭建机器学习开发环境


浏览 131
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报