💡
原文英文,约200词,阅读约需1分钟。
📝
内容提要
Python 3.13 alpha 2新增了一个新的C API,用于导入和导出Python整数,为gmpy2、SAGE和Python-FLINT等项目提供了一个高效的抽象。这使得Python可以在不破坏这些项目的情况下改变其内部结构。
🎯
关键要点
- Python 3.13 alpha 2新增了一个新的C API,用于导入和导出Python整数,特别是PyLongWriter_Create()和PyLong_AsDigitArray()函数。
- gmpy2、SAGE和Python-FLINT等项目直接访问Python内部结构(PyLongObject结构)或使用低效的临时格式(如Python-FLINT的十六进制字符串)来导入和导出Python整数对象。
- Python 3.12中,Python整数的实现发生了变化,增加了标签和“紧凑值”。
- 在3.13 alpha 1版本中,私有的未记录的_PyLong_New()函数被移除,但这些项目仍在使用该函数导入Python整数,因此在3.13 alpha 2中恢复了该私有函数。
- 需要一个公共的高效抽象,以便在不暴露实现细节的情况下将Python与这些项目接口,这样Python可以在不破坏这些项目的情况下改变其内部结构。
➡️