CPython

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動先: 案内検索
CPython
Python logo and wordmark.svg
作者 グイド・ヴァンロッサム
開発元 Python Software Foundation
最新版 3.6.0 / 2016年12月23日
(5か月前) (2016-12-23
2.7.13 / 2016年12月17日
(6か月前) (2016-12-17
リポジトリ github.com/python/cpython
プログラミング言語 C言語
プラットフォーム 42のプラットフォーム 本文参照
種別 Python Programming Language Interpreter
ライセンス Python Software Foundation License
公式サイト www.python.org/、https://www.python.org/
テンプレートを表示

CPythonPython プログラミング言語の最も広く用いられている標準の実装である。CPython は C言語で記述されている。CPython 以外に、製品としての品質をもつ Python 実装はJava で記述された Jython共通言語ランタイム 用に記述された IronPython の2つがあり、またいくつかの実験的な実装もある。Classic Python というバクロニムが、'C' の別の意味として提案されている。

CPython はバイトコードインタプリタである。C を含むいくつかの言語での外部関数インターフェイスを持っており、Python 以外の言語の言語バインディングを明示的に書く場合に使用される。

サポートされているプラットフォーム[編集]

UNIX / Unix系[編集]

デスクトップオペレーティングシステム[編集]

特殊用途、組み込み[編集]

メインフレームなど[編集]

かつてサポートされていたプラットフォーム[編集]

PEP 11 にはPython Software Foundation の CPython ではサポートされていないプラットフォームの一覧がある。これらのプラットフォームは現在でも非公式の移植版でサポートされている。下記参照。

  • DOS (2.0 以降非サポート)
  • IRIX 4 (2.3 以降非サポート)
  • Mac OS 9 (2.4 以降非サポート)
  • Minix (2.3 以降非サポート)

非公式の移植版[編集]

Python Software Foundationの公式版の CPython に統合されていない移植版が存在する。

移植版には、PSP 用のグラフィックスやサウンド API や S60 用の SMS やカメラ API などのプラットフォーム固有の機能のための拡張モジュールが提供されることが多い。

並列性に関する問題[編集]

マルチプロセッサのコンピュータで CPython を用いる際の大きな問題は、各 CPython インタプリタのプロセスが持つグローバルインタプリタロックであり、これがプロセス内の Python スレッドの並列性を損なってしまう[1]

マルチプロセッサ環境で完全な並列性を実現するためには別の CPython プロセスを動作させる必要がある。一般的にプロセス間の通信を実現することは困難な作業となるが、CPythonでは標準ライブラリを使い容易に実現させることが可能である[2]。CPython から GIL を取り除くことについては常に議論が行われている[3]

脚注[編集]

[ヘルプ]

参考文献[編集]