コンテンツにスキップ

CPython

Xuất xứ: フリー bách khoa sự điển 『ウィキペディア ( Wikipedia ) 』
CPython
Tác giả グイド・ヴァンロッサム
Khai phát nguyên Python Software Foundation
Sơ bản 1991 năm 4 nguyệt(33 năm trước )(1991-04)
Mới nhất bản
3.12.3 /2024 năm ngày 9 tháng 4(5か nguyệt trước )(2024-04-09)
Mới nhất bình 価 bản
3.13.0a6 /2024 năm ngày 9 tháng 4(5か nguyệt trước )(2024-04-09)
リポジトリ ウィキデータを編集
プログラミング
Ngôn ngữ
C ngôn ngữ
プラットフォーム 42 の プラットフォームBổn văn tham chiếu
Loại đừng Python Programming Language Interpreter
ライセンス Python Software Foundation License
Công thức サイト www.Python.orgウィキデータを編集
テンプレートを tỏ vẻ

CPythonは,Pythonリファレンス thật trangである. CPython はC ngôn ngữで ghi lại されている. CPython bên ngoài に, chế phẩm として の phẩm chất をもつ Python thật trang はJavaで ghi lại されたJython,Chung ngôn ngữ ランタイムDùng に ghi lại されたIronPythonの 2つがあり, またいくつか の thật nghiệm な thật trang もある.Classic Pythonというバクロニムが, 'C' の đừng の ý vị として đề án されている.

CPython はバイトコードインタプリタである. C を hàm むいくつか の ngôn ngữ で のPhần ngoài quan số インターフェイスを cầm っており, Python bên ngoài の ngôn ngữ のNgôn ngữ バインディングを minh kỳ に thư く trường hợp に sử dụng される.

サポートされているプラットフォーム

[Biên tập]

UNIX / Unix hệ

[Biên tập]

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

[Biên tập]

Đặc thù sử dụng, tổ み込み

[Biên tập]

メインフレームなど

[Biên tập]

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

[Biên tập]

PEP 11にはPython Software Foundationの CPythonではサポートされていないプラットフォーム の một lãm がある. これら の プラットフォームは hiện tại でも phi công thức の nhổ trồng bản でサポートされている. Hạ nhớ tham chiếu.

  • DOS(2.0 lấy hàng phi サポート)
  • IRIX4 (2.3 lấy hàng phi サポート)
  • Mac OS 9(2.4 lấy hàng phi サポート)
  • MINIX(2.3 lấy hàng phi サポート)

Phi công thức の nhổ trồng bản

[Biên tập]

Python Software Foundationの công thức bản の CPython に thống hợp されていない nhổ trồng bản が tồn tại する.

Nhổ trồng bản には, PSP dùng の グラフィックスやサウンド API や S60 dùng の SMS やカメラ API など の プラットフォーム cố hữu の cơ năng の ため の 拡 trương モジュールが cung cấp されることが nhiều い.

Song song tính に quan する vấn đề

[Biên tập]

マルチプロセッサの コンピュータで CPython を dùng いる tế の đại きな vấn đề は, các CPython インタプリタ の プロセスが cầm つグローバルインタプリタロック( GIL ) であり, これがプロセス nội の Python スレッド の song song tính を tổn hại なってしまう[1].

マルチプロセッサ hoàn cảnh で hoàn toàn な song song tính を thật hiện するためには đừng の CPython プロセスを động tác させる tất yếu がある. Giống nhau にプロセス gian の thông tín を thật hiện することは khó khăn な tác nghiệp となるが, CPythonでは tiêu chuẩn ライブラリを sử い dễ dàng に thật hiện させることが khả năng である[2].CPython から GIL を lấy り trừ くことについては thường に nghị luận が hành われている[3].

バイトコード

[Biên tập]

Pythonにおけるバイトコード(Anh:bytecode) はCPythonが bên trong に lợi dụng するTrung gian biểu hiệnである[4].

CPythonではPythonコードをバイトコードへコンパイルし, こ の バイトコードをインタープリタによって thật hành する[5].コードからバイトコードへ の コンパイル kết quả は.pycファイルとしてキャッシュされ, nhị độ mục lấy hàng の thật thịnh hành にはリコンパイル vô しにバイトコードが thật hành される[6].

バイトコードはあくまでCPython の bên trong biểu hiện / thật trang kỹ càng tỉ mỉ であり, CPython の バージョン gian や hắn Python thật hành hoàn cảnh と の trao đổi tính は bảo đảm されない[7][8].

Chú thích

[Biên tập]
  1. ^Python/C API Reference Manual: Thread State and the Global Interpreter Lock
  2. ^PEP 371 -- Addition of the multiprocessing package to the standard library
  3. ^Python Library and Extension FAQ: Can't we get rid of the Global Interpreter Lock?
  4. ^"bytecode... the internal representation of a Python program in the CPython interpreter." Python.bytecode - Glossary.Python 3.11.5 Documentation. 2023-09-01 duyệt lãm.
  5. ^"Python source code is compiled into bytecode... This 'intermediate language' is said to run on a virtual machine" Python.bytecode - Glossary.Python 3.11.5 Documentation. 2023-09-01 duyệt lãm.
  6. ^"The bytecode is also cached in.pycfiles so that executing the same file is faster the second time (recompilation from source to bytecode can be avoided). "Python.bytecode - Glossary.Python 3.11.5 Documentation. 2023-09-01 duyệt lãm.
  7. ^"Do note that bytecodes are not expected to work between different Python virtual machines, nor to be stable between Python releases." Python.bytecode - Glossary.Python 3.11.5 Documentation. 2023-09-01 duyệt lãm.
  8. ^"CPython implementation detail: Bytecode is an implementation detail of the CPython interpreter." Python.dis— Disassembler for Python bytecode.Python 3.11.5 Documentation. 2023-09-01 duyệt lãm.

Tham khảo văn hiến

[Biên tập]