CPython
- 3.12.0 (2023年10月2日)[1]
![編輯維基數據鏈接](http://upload.wikimedia.org/wikipedia/commons/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/10px-OOjs_UI_icon_edit-ltr-progressive.svg.png)
- github
.com /python /cpython
![編輯維基數據鏈接](http://upload.wikimedia.org/wikipedia/commons/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/10px-OOjs_UI_icon_edit-ltr-progressive.svg.png)
CPython是用C语言实现的Python解释器。作为官方实现,它是最广泛使用的Python解释器。除了CPython以外,还有用Java实现的Jython,用.NET实现的IronPython,使Python方便地和Java程序、.NET程序集成。另外还有一些实验性的Python解释器比如PyPy。[1]
CPython是使用字节码的解释器,任何程序源代码在执行之前先要编译成字节码。它还有和几种其它语言(包括C语言)交互的外部函数接口。
支持的平台
类Unix * AIX * BSD * Darwin * FreeBSD * HP-UX * IRIX 5以及更高版本 * 九號計畫 * Mac OS X * NetBSD * Linux * OpenBSD * Solaris * Tru64 *其它Unix | 桌面操作系统 * AROS * AtheOS * BeOS * Windows * Windows NT * OS/2 * RISC OS | 特殊的和嵌入式 * GP2X * iPodLinux * Nintendo DS * Nintendo Gamecube * Symbian OS Series60 * Nokia 770 Internet Tablet * Nokia N800 * Nokia N810 * Palm OS * PlayStation 2 * PlayStation 3(Linux) * Psion * QNX * Sharp Zaurus * Xbox/XBMC * VxWorks * Openmoko | 大型机和其它 * OS/390 * VMS * z/OS |
曾经支持的平台
PEP 11(页面存档备份,存于互联网档案馆)列出了CPython停止支持的平台。
非官方的移植
这些版本没有进入Python软件基金会的官方版本,这些版本包含了为特定平台提供的模块,如为PSP提供的图像和声音API以及为S60提供的SMS和照相机API。
- Amiga [2](页面存档备份,存于互联网档案馆)
- AS/400 [3](页面存档备份,存于互联网档案馆)
- DOS平台使用的DJGPP [4](页面存档备份,存于互联网档案馆)
- PSP [5]
- Symbian [6]
- Windows CE/Pocket PC [7](页面存档备份,存于互联网档案馆)
并发问题
在多处理器的计算机上使用CPython的主要问题来自CPython的全局解释器锁(Global Interpreter Lock,GIL),它使得CPython不能进行并发编程。[2]要做到并发编程,就必须为每一个线程运行一个解释器。如果这样的话,它们之间的通讯就非常困难。所以社区内一直在讨论是否要从CPython中去除GIL。[3]
注释
- ^ Martelli, Alex. Python in a Nutshell 2nd edition. O'Reilly. 2006: 5–7. ISBN 0-596-10046-9. 引文格式1维护:冗余文本 (link)
参考
延伸閱讀
- Shaw, Anthony. CPython Internals: Your Guide to the Python 3 Interpreter. Real Python. 2021. ISBN 9781775093343.
外部連結
- GitHub上的CPython
|