Pythonプログラミング言語の歴史
古い Python ロゴ、1990 年代~2006 年
新しい Python ロゴ、2006 年~現在
2014年のグイド・ヴァン・ロッサム
プログラミング 言語 Pythonは 1980年代後半に考案され、 [1] その実装は1989年12月 [2]に オランダ の CWI の Guido van Rossum によって開始されました。これは 例外処理 と Amoebaオペレーティングシステム とのインターフェイスが可能な ABC の後継です 。 [3] Van RossumはPythonの主要な作者であり、2018年7月12日にリーダーを退任するまで、Pythonの方向性を決定する上で中心的な役割を果たしていました(Pythonコミュニティから与えられた称号、 Benevolent Dictator for Life (BDFL) [4] [5] に反映されています)。 [6] Pythonは BBCのテレビ 番組 Monty Python's Flying Circus にちなんで名付けられました。 [7]
Python 2.0は2000年10月16日にリリースされ、 リスト内包表記 、 サイクル検出 ガベージコレクター 、 参照カウント 、 メモリ管理、 Unicode のサポートなど 、多くの主要な新機能が追加されました。また、開発プロセス自体も変更され、より透明性が高くコミュニティに支えられたプロセスへと移行しました。 [8]
Python 3.0は、後方互換性のないメジャーリリースであり、 長いテスト期間を経て2008年12月3日にリリースされました [9] 。その主要機能の多くは、後方互換性のあるPythonバージョン2.6および2.7にも バックポートされました [10] 。しかし、 2020年初 頭にPython 2のサポートは終了しました。Python 3のリリースには 2to3、Python 2のコードをPython 3に自動的に変換するユーティリティが 含まれています [11]。
2025年10月24日現在 [アップデート] 、Python 3.14.0が最新の安定版リリースです。このバージョンは現在、完全なバグ修正とセキュリティアップデートを受けています。一方、2024年10月にリリースされたPython 3.13は、2026年10月までバグ修正を継続し、その後は2029年のサポート終了までセキュリティ修正のみを受けます。Python 3.10は、現在サポートされているPythonの中で最も古いバージョンです(ただし、「セキュリティサポート」フェーズにあります)。 [12] [13]
初期の歴史
Van Rossum は 1991 年 2 月に、Python バージョン 0.9.1 のコードを alt.sources に初めて公開しました。 [14] [15] この段階では、 継承を持つクラス 、例外処理、関数、さまざまなコア データ型 list( 、 dict、 など) など、言語のいくつかの機能がすでに存在していました str。最初のリリースには、 Modula-3 から借用した モジュール システム も含まれていました。Van Rossum はこのモジュールを「Python の主要なプログラミング ユニットの 1 つ」と表現しています。 [1] Python の例外モデルも Modula-3 のものと似ていましたが、 節が追加されていました 。 [3] 1994 年には、Python の主要な ディスカッション フォーラム である comp.lang.python が設立されました。 [1] else
バージョン1
Pythonは1994年1月にバージョン1.0に到達しました。このリリースに含まれる主要な新機能は、関数型プログラミングツール、、でした 。 lambda ヴァン ・ ロッサムは「Pythonがlambda、reduce()、filter()、map()を獲得したのは、 それらを見逃して作業 パッチを提出した Lisp ハッカーのおかげです」と述べています。 [16] map filter reduce
ヴァン・ロッサムがCWIに在籍していた間にリリースされた最後のバージョンはPython 1.2でした。1995年、ヴァン・ロッサムは バージニア州 レストンにある 国立研究イニシアチブ協会 (CNRI)でPythonの開発を続け 、 そこでいくつかのバージョンをリリースしました。
Pythonバージョン1.4では、いくつかの新機能が追加されました。中でも注目すべきは、Modula-3に着想を得た キーワード引数( Common Lisp のキーワード引数にも類似)と 複素数 の組み込みサポートです。また、 名前マングリング による 基本的な データ隠蔽 機能も含まれていますが、これは簡単に回避できます。 [17]
ヴァン・ロッサムはCNRI在籍中に、Computer Programming for Everybody (CP4E)イニシアチブを立ち上げました。これは、多くの雇用主が求める基本的な英語力と数学力と同様に、プログラミング言語の基本的な「リテラシー」を持つ人々がプログラミングをより身近に感じられるようにすることを目指したものです。この取り組みにおいて中心的な役割を果たしたのがPythonです。Pythonは明確な構文に重点を置いていたため、既にプログラミング言語として適しており、CP4Eの目標は前身であるABCと類似していました。このプロジェクトは DARPA によって資金提供されました。 [18] 2007年現在 [アップデート] 、CP4Eプロジェクトは非活動状態です。Pythonは構文とセマンティクスにおいて難解すぎず、容易に学習できるように努めていますが、非プログラマーへの普及活動は積極的に行われていません。 [19]
オープン
2000年、Pythonコア開発チームはBeOpen.com [20] に移籍し、BeOpen PythonLabsチーム [21] を結成した。 [ 22] CNRIは、開発チームがCNRIを離れる時点までのPythonの開発を総括したバージョン1.6のリリースを要請した。その結果、1.6と2.0のリリーススケジュールにはかなりの重複が生じていた。 [8] BeOpen.comからのリリースはPython 2.0のみであった。BeOpen.comによるPython 2.0のリリース後、Guido van Rossumと他のPythonLabs開発者は Digital Creations に加わった。
Python 1.6リリースには、以前のリリースで使用されていたCWIライセンスよりも大幅に長い新しいCNRIライセンスが含まれていました。この新しいライセンスには、ライセンスが バージニア州 の 法律 に準拠するという条項が含まれていました。 フリーソフトウェア財団は、 この準拠法条項が GNU一般公衆利用許諾契約書 と矛盾していると主張しました。BeOpen、CNRI、FSFは、Pythonの フリーソフトウェアライセンス をGPL互換に変更するための交渉を行いました。Python 1.6.1は、いくつかの小さなバグ修正と、新しいGPL互換ライセンスを除けば、基本的にPython 1.6と同じです。 [23]
バージョン2
2000年10月にリリースされたPython 2.0 [8]では、 関数型プログラミング 言語 SETL と Haskell から借用した リスト内包表記 が導入されました。Pythonのこの構文は、Haskellが 句読点 を優先し、Pythonがアルファベットのキーワードを優先する点を除けば、Haskellの構文と非常に似ています。Python 2.0では、循環参照を収集できるガベージコレクタも導入されました。 [8]
Python 2.1はPython 1.6.1、そしてPython 2.0に近いものでした。ライセンスは Python Software Foundation License に改名されました。Python 2.1のアルファリリース以降に追加されたすべてのコード、ドキュメント、仕様は、 2001年に Apache Software Foundation をモデルに設立された 非営利団体である Python Software Foundation (PSF)が所有しています 。 [23]このリリースには、他の 静的スコープ 言語 と同様に、ネストされたスコープをサポートするための言語仕様の変更が含まれていました。 [24] (この機能はPython 2.2までデフォルトでオフになっており、必須ではありませんでした。)
Python 2.2は2001年12月にリリースされました。 [25] Pythonの大きな革新は、型( C 言語で記述された型)とクラス(Pythonで記述された型)を一つの階層に統合したことでした。この統合により、Pythonのオブジェクトモデルは純粋かつ一貫したオブジェクト指向となりました。 [26] また、 Icon に着想を得た ジェネレータ も追加されました。 [27]
Windows (左) と Macintosh (中央) で使用されていた歴史的な Python ロゴ、およびバージョン 2.5 以降で使用されているロゴ (右)。
Python 2.5は2006年9月にリリースされ [28] 、 withコンテキストマネージャ内でコードブロックを囲むステートメントが導入されました(たとえば、コードブロックの実行前に ロック を取得し、実行後にロックを解放する、または ファイル を開いて閉じるなど)。これにより、 リソース取得初期化 (RAII)のような動作が可能になり、一般的なtry/finallyイディオムが置き換えられました。 [29]
Python 2.6はPython 3.0と同時にリリースされ、そのリリースからいくつかの機能と、Python 3.0で削除された機能の使用を強調表示する「警告」モードが含まれていました。 [30] [10]同様に、Python 2.7は2009年6月26日にリリースされたPython 3.1 [31] と同時にリリースされ、 その機能を含んでいました。 その後、2.xと3.xの並行リリースは終了し、Python 2.7が2.xシリーズの最後のリリースとなりました。 [32] 2014年11月、Python 2.7は2020年までサポートされると発表されましたが、ユーザーはできるだけ早くPython 3に移行するよう奨励されました。 [33] Python 2.7のサポートは、2.7開発ブランチの コードフリーズ とともに、2020年1月1日に終了しました 。最終リリースである2.7.18は2020年4月20日にリリースされ、重大なバグとリリースを阻害する要因の修正が含まれていました。 [34] これにより、 Python 2の サポートは終了しました 。[35]
バージョン3
Python 3.0(「Python 3000」または「Py3K」とも呼ばれる)は、2008年12月3日にリリースされました。 [9] これは、言語の根本的な設計上の欠陥を修正するために設計されました。必要な変更は2.xシリーズとの完全な後方互換性を維持しながら実装することができず、新しいメジャーバージョン番号が必要になりました。Python 3の基本原則は、「古いやり方を排除することで機能の重複を減らす」ことでした。 [36]
Python 3.0 は、以前のバージョンと同じ哲学に基づいて開発されました。しかし、Python には同じタスクをプログラミングするための新しい冗長な方法が蓄積されていたため、Python 3.0 では、 Python の禅の精神 「実行するための明白な方法は一つ、できれば一つだけであるべき」に基づき、重複する構造やモジュールの削除に重点が置かれました。
それでもなお、Python 3.0は マルチパラダイム言語で あり続けました。コーディング者は オブジェクト指向 、 構造化 、 関数型 プログラミングなどのパラダイムに従うことができましたが、こうした幅広い選択肢の中で、Python 3.0ではPython 2.xよりも細部がより明確になるように意図されていました。
互換性
Python 3.0 では下位互換性がなくなり、Python 2 のコードの多くはそのままでは Python 3 で動作しません。 [37] Python の 動的型付け と、例えば辞書の特定のメソッドのセマンティクスを変更する計画が相まって、Python 2.x から Python 3.0 への完璧な 機械翻訳は 非常に困難になりました。「 」と呼ばれるツールは、 2to3自動的に実行できる翻訳の部分を実行します。この時点では、 2to3はかなり成功しているように見えましたが、初期のレビューでは、このようなツールでは決して処理できない翻訳の側面があると指摘されていました。 [38] Python 3 がロールアウトされる前は、2.x シリーズと 3.x シリーズの両方との互換性が必要なプロジェクトでは、1 つのソース (2.x シリーズ用) を用意し、 を使用して Python 3.x プラットフォーム用のリリースを作成することが推奨されていました 2to3。コードが Python 2.x で動作する必要がある限り、Python 3.x コードの編集は推奨されませんでした。 [10] これはもう推奨されません。 2012年時点では、互換性モジュールを使用してPython 2と3の両方で実行できる単一のコードベースを作成することが推奨されていました。 [39]
特徴
Python 3.0 に含まれる主な変更点は次のとおりです。
printこれを文ではなく 組み込み関数に 変更しました 。これにより、モジュールを変更して別のprint関数を使用するのが容易になり、構文もより規則的になりました。Python 2.6および2.7では print()組み込み関数として利用可能ですが、print文の構文によってマスクされています。これは、 from __future__ import print_functionファイルの先頭に入力することで無効にすることができます [40]。
Python 2 関数の削除と、 関数名 inputの変更 。Python 3 の 関数は Python 2 の 関数と同様に動作し、入力は常に式として評価されるのではなく文字列として返されます。 raw_inputinputinputraw_input
組み込み名前空間から reduce(またはではなく map) 移動する (使用するコードは、 forループとアキュムレータ変数を使用するコードよりも読みにくいため) [41] [42] filterfunctoolsreduce
非公式な型宣言 やその他の目的 で使用できるオプションの関数アノテーションのサポートの追加 [43]
str/型 を統合し unicode、テキストを表現し、別の不変 bytes型を導入する。また、ほぼ対応する可変 bytearray型を導入し、どちらも バイト配列を表現する [44]
旧式のクラス、文字列例外、暗黙的な相対インポートなどの下位互換性機能を削除します。
整数除算の 機能変更 :Python 2では整数除算は常に整数を返します。例えば、 5 / 2is 2; はPython 3では 5 / 2is です 2.5。(Python 2(2.2以降)とPython 3の両方で、以前の動作を提供する別の演算子 5 // 2isが存在します 2)
識別子に非ASCII文字の使用を許可する。 [45] 例えば、 smörgåsbord
整数型 intとを long1つの整数型に統合する: intPython 2では int整数は -2147483648≤ x ≤の間に制限される 2147483647。この範囲外または範囲内の整数には、 、 [46] のように Lまたはサフィックスが付く。 l-100000000000000L0l
その後のリリース
Python 3.2 では安定した ABI が定義され、拡張モジュールが異なる Python バージョン間の関数に依存できるようになりました。
Python 3.5では、型ヒント と 関数シグネチャの アノテーションを可能にするtypingモジュールが追加されました 。また、 async/await 構文も追加されました。さらに、最適化されていないバイトコードと最適化された バイトコードの 両方を表すファイルが .pyo削除されました 。
.pyc
Python 3.6では、非同期 ジェネレータ と非同期内包表記(リスト だけでなく辞書やセットも 対象)、フォーマットされた 文字列リテラル (f文字列)が導入されました。 [47]
Python 3.10では、 match/case文による 構造的パターンマッチング が導入されました。さらに、「PyPyインタープリタの以前の成果に着想を得た」改善されたエラーメッセージが提供され、 | union型 演算子も追加されました。 [48]
Python 3.11では 例外処理 機能が拡張されました。このバージョンではPythonの高速化に重点が置かれており、3.11は3.10と比較して10~60%高速化されているとされており [49] 、 3.12ではさらに5%高速化されています。
Python 3.12 では新しいキーワードが追加され type、エラー メッセージが改善されました。
Python 3.13では、実験的な ジャストインタイム(JIT)コンパイラ、 グローバルインタープリタロック を無効にする機能 、新しく改良された対話型インタープリタ( REPL )、およびインクリメンタル ガベージコレクタ が追加されました。 [50]
Python 3.13 以降では、2 年間の完全サポート (1 年半から延長) が提供され、その後 3 年間のセキュリティ サポートが提供されます。これは、以前と同じ合計サポート期間です。
Python 3.14.0では、例えば新しいオプトインインタープリタが導入され、3~5%高速化されました。 [51]
Python 3.15では「 UTF-8 モードをデフォルトにする」予定です。 [52] このモードは現在のすべてのPythonバージョンでサポートされていますが、現在はオプトインする必要があります。Windows (およびその他の オペレーティングシステム)では、ほとんどの用途でUTF-8が既に デフォルト で使用されていますが、ファイルのオープンは例外です。UTF-8を有効にすると、コードが完全に クロスプラットフォーム になります。
安全
セキュリティアップデートは2021年に迅速化され、2022年にはさらに2回実施されました。2023年と2024年9月(Pythonバージョン3.8.20から3.12.6)にはさらに多くの問題が修正されました。2.7を含むすべてのバージョン [53]は、 リモートコード実行 [54] や ウェブキャッシュポイズニング [55] につながる問題のため安全ではありませんでした 。
バージョン表
番号付きバージョンの前のリリース:
伝説:
サポートされていません
サポートされている
最新バージョン
プレビュー版
将来のバージョン
斜体は、 2025 年 11 月 2 日時点でサポートされている最新のマイクロ バージョンを示します [ 更新が必要 ] 。
表の注記:
^ abcdefghijkl 最後のマイクロリリースの日付。
^ abcdefghij セキュリティのみではない最後のリリースの日付。
^ 公式サポートは2020年1月1日に終了しましたが、2020年1月1日時点のコードの最終リリースが2020年4月20日にバージョン2.7.18としてリリースされました。 [35]
サポート
参照
参考文献
^ abc 「The Making of Python」. Artima Developer. 2016年9月1日時点のオリジナルよりアーカイブ。 2007年 3月22日 閲覧 。
^ abcdefghijklmnopq van Rossum, Guido (2009年1月20日). “A Brief Timeline of Python”. 2011年8月25日時点のオリジナルよりアーカイブ 。 2019年 11月29日 閲覧。
^ ab 「そもそもPythonはなぜ作られたのか?」 Python FAQ. 2008年2月23日時点のオリジナルよりアーカイブ。 2007年 3月22日 閲覧 。
^ van Rossum, Guido (2008年7月31日). “Origin of BDFL”. 2011年1月16日時点のオリジナルよりアーカイブ 。 2008年 8月1日 閲覧。
^ 「Python Creator Scripts Inside Google」www.eweek.com、2006年3月7日。2018年8月9日時点のオリジナルよりアーカイブ 。 2008年 5月13日 閲覧。
^ Fairchild, Carlie (2018年7月12日). 「Guido van RossumがPythonの慈悲深い独裁者を終身退任」. Linux Journal . 2018年7月13日時点のオリジナルよりアーカイブ。 2018年 7月12日 閲覧 。
^ 「General Python FAQ — Python 3.8.3 ドキュメント」. docs.python.org . 2012年10月24日時点のオリジナルよりアーカイブ 。 2020年 6月4日 閲覧。
^ abcd Kuchling, Andrew M.; Zadka, Moshe. 「What's New in Python 2.0」。2009年12月14日時点のオリジナルよりアーカイブ 。 2007年 3月22日 閲覧。
^ ab “Welcome to Python.org”. python.org . 2020年6月14日時点のオリジナルよりアーカイブ。 2016年 12月27日 閲覧 。
^ abc van Rossum, Guido (2006年4月5日). “PEP 3000 – Python 3000”. 2022年4月2日時点のオリジナルよりアーカイブ 。 2016年 12月27日 閲覧。
^ “2to3 – Python 2から3への自動コード変換”. docs.python.org . 2020年6月4日時点のオリジナルよりアーカイブ 。 2021年 2月2日 閲覧。
^ 「Pythonバージョンの状況」。Python 開発者ガイド。 2024年 10月7日 閲覧 。
^ “Python”. endoflife.date . 2024年10月8日. 2024年 11月20日 閲覧 。
^ “Python 0.9.1 part 01/21”. alt.sourcesアーカイブ. 2021年8月11日時点のオリジナルよりアーカイブ。 2021年 8月11日 閲覧 。
^ "HISTORY". Pythonソース配布 . Python Foundation. 2017年12月1日時点のオリジナルよりアーカイブ。 2017年 11月23日 閲覧 。
^ van Rossum, Guido. 「Python 3000におけるreduce()の運命」Artima Developer. 2007年4月7日時点のオリジナルよりアーカイブ。 2007年 3月22日 閲覧 。
^ “LJ #37: Python 1.4 Update”. 2007年5月1日時点のオリジナルよりアーカイブ 。 2007年 4月29日 閲覧。
^ ヴァン・ロッサム、グイド. 「Computer Programming for Everybody」. 2007年5月1日時点のオリジナルよりアーカイブ 。 2007年 3月22日 閲覧。
^ 「Computer Programming for Everybody」. Python Software Foundation. 2007年3月29日時点のオリジナルよりアーカイブ。 2007年 3月22日 閲覧 。
^ “Python開発チームがBeOpen.Comへ移行 – Slashdot”. slashdot.org . 2020年4月12日時点のオリジナルよりアーカイブ。 2020年 4月12日 閲覧 。
^ “Open | あなたのデジタル保険パートナー”. 2000年8月15日時点のオリジナルよりアーカイブ。
^ 「コンテンツ管理プロバイダーのPyBizが、Pythonプログラミング言語の活用においてBeOpenとの戦略的提携を発表」 (PDF) 。 2020年4月12日時点のオリジナルより アーカイブ (PDF) 。 2020年 4月12日 閲覧 。
^ ab 「History and License」. Python 3 ドキュメント . 2016年12月5日時点のオリジナルよりアーカイブ。 2022年 12月7日 閲覧 。
^ Hylton, Jeremy (2000年11月1日). 「PEP 227 – 静的にネストされたスコープ」. 2022年5月23日時点のオリジナルよりアーカイブ 。 2007年 3月22日 閲覧。
^ “Python 2.2”. Python.org . 2019年8月2日時点のオリジナルよりアーカイブ 。 2019年 12月31日 閲覧。
^ Kuchling, Andrew M. (2001年12月21日). 「PEP 252 および 253: 型とクラスの変更」. What's New in Python 2.2 . Python Foundation. 2008年9月17日時点のオリジナルよりアーカイブ。 2008年 9月5日 閲覧 。
^ Schemenauer, Neil; Peters, Tim; Hetland, Magnus (2001年12月21日). “PEP 255 – Simple Generators”. 2023年1月31日時点のオリジナルよりアーカイブ 。 2008年 9月5日 閲覧。
^ “Python 2.5 Release”. Python.org . 2019年8月4日時点のオリジナルよりアーカイブ 。 2018年 3月20日 閲覧。
^ “Highlights: Python 2.5”. Python.org . 2019年8月4日時点のオリジナルよりアーカイブ 。 2018年 3月20日 閲覧。
^ abcdef Norwitz, Neal; Warsaw, Barry (2006年6月29日). “PEP 361 – Python 2.6 and 3.0 Release Schedule”. 2022年4月12日時点のオリジナルよりアーカイブ 。 2019年 11月29日 閲覧。
^ Kuchling, Andrew M. (2010年7月3日). 「Python 2.7の新機能」。2012年6月7日時点のオリジナルよりアーカイブ。 2012年 10月7日 閲覧 。Python 2.6がPython 3.0の機能を組み込んだのと同様に、バージョン2.7はPython 3.1の新機能の一部を取り入れています。2.xシリーズでは、3.xシリーズへの移行ツールを引き続き提供しています。
^ Warsaw, Barry (2011年11月9日). “PEP 404 – Python 2.8 リリース中止スケジュール”. 2022年5月23日時点のオリジナルよりアーカイブ 。 2012年 10月7日 閲覧。
^ Gee, Sue (2014年4月14日). 「Python 2.7は2020年までメンテナンスされる」. i-programmer.info . 2016年5月10日時点のオリジナルよりアーカイブ 。 2016年 12月27日 閲覧。
^ “Commits: python/cpython at 2.7”. GitHub . 2020年4月22日時点のオリジナルよりアーカイブ 。 2020年 4月22日 閲覧。
^ abcde Peterson, Benjamin (2008年11月3日). “PEP 373 – Python 2.7 Release Schedule”. 2022年3月13日時点のオリジナルよりアーカイブ 。 2020年 4月20日 閲覧。
^ “PEP 3100 – Miscellaneous Python 3.0 Plans | peps.python.org”. peps.python.org . 2022年5月25日時点のオリジナルよりアーカイブ。 2022年 6月2日 閲覧 。
^ “PEP 3000 – Python 3000 | peps.python.org”. peps.python.org . 2022年4月2日時点のオリジナルよりアーカイブ。 2022年 6月2日 閲覧 。
^ Ruby, Sam (2007年9月1日). "2to3". intertwingly.net . 2016年3月24日時点のオリジナルよりアーカイブ 。 2024年 9月6日 閲覧。
^ Coghlan, Alyssa (2020年4月21日). 「Python 3 Q & A – Alyssa Coghlan's Python Notes」. python-notes.curiousefficiency.org . 2024年 9月6日 閲覧 。
^ Brandl, Georg (2007年11月19日). “PEP 3105 – print を関数にする”. 2022年4月2日時点のオリジナルよりアーカイブ 。 2016年 12月27日 閲覧。
^ van Rossum, Guido. 「Python 3000 FAQ」. artima.com . 2020年11月9日時点のオリジナルよりアーカイブ 。 2016年 12月27日 閲覧。
^ “Python 3000におけるreduce()の運命”. www.artima.com . 2019年12月18日時点のオリジナルよりアーカイブ。 2019年 12月31日 閲覧 。
^ Winter, Collin; Lownds, Tony (2006年12月2日). “PEP 3107 – Function Annotations”. 2022年3月13日時点のオリジナルよりアーカイブ 。 2016年 12月27日 閲覧。
^ van Rossum, Guido (2007年9月26日). 「PEP 3137 – Immutable Bytes and Mutable Buffer」. 2022年5月23日時点のオリジナルよりアーカイブ 。 2022年 5月23日 閲覧。
^ "PEP 3131 – 非ASCII識別子のサポート | peps.python.org". Python Enhancement Proposals (PEPs) . 2024年 7月1日 閲覧 。
^ "PEP 237 – 長整数と整数の統合 | peps.python.org". Python Enhancement Proposals (PEPs) . 2025年 10月21日 閲覧 。
^ Pranskevichus, Elvis; Selivanov, Yury 編 (2016年12月23日). 「What's New In Python 3.6」. Pythonドキュメント. 2025年 8月5日 閲覧 。
^ 「What's New In Python 3.10」。Python ドキュメント。 2025年 6月12日 閲覧 。
^ corbet (2022年10月24日). “Python 3.11 リリース [LWN.net]”. lwn.net . 2022年 11月15日 閲覧 。
^ 「What's New In Python 3.13」。Python ドキュメント。 2024年 4月30日 閲覧 。
^ 「Python 3.14の新機能¶」. python . Python Foundation . 2025年 10月10日 閲覧 。
^ "PEP 686 – UTF-8モードをデフォルトにする | peps.python.org". Python Enhancement Proposals (PEPs) . 2024年 11月20日 閲覧 。
^ “CVE-2021-3177”. Red Hat カスタマーポータル . 2021年3月6日時点のオリジナルよりアーカイブ 。 2021年 2月26日 閲覧。
^ “CVE-2021-3177”. CVE . 2021年2月27日時点のオリジナルよりアーカイブ 。 2021年 2月26日 閲覧。
^ “CVE-2021-23336”. CVE . 2021年2月24日時点のオリジナルよりアーカイブ 。 2021年 2月26日 閲覧。
^ abc “Releases | Python.org”. 2015年12月22日時点のオリジナルよりアーカイブ 。 2019年 11月29日 閲覧。
^ Drake, Fred L. Jr. (2000年7月25日). “PEP 160 – Python 1.6 Release Schedule”. 2022年5月13日時点のオリジナルよりアーカイブ 。 2019年 11月29日 閲覧。
^ abcdefghijklm “Download Python | Python.org”. 2018年8月8日時点のオリジナルよりアーカイブ 。 2019年 11月29日 閲覧。
^ Hylton, Jeremy. 「PEP 200 – Python 2.0 リリーススケジュール」。2022年5月18日時点のオリジナルよりアーカイブ 。 2019年 11月29日 閲覧。
^ Hylton, Jeremy (2000年10月16日). “PEP 226 – Python 2.1 Release Schedule”. 2022年5月23日時点のオリジナルよりアーカイブ 。 2019年 11月29日 閲覧。
^ Warsaw, Barry; van Rossum, Guido (2001年4月17日). “PEP 251 – Python 2.2 Release Schedule”. 2022年5月4日時点のオリジナルよりアーカイブ 。 2019年 11月29日 閲覧。
^ van Rossum, Guido (2002年2月27日). “PEP 283 – Python 2.3 Release Schedule”. 2022年4月12日時点のオリジナルよりアーカイブ 。 2019年 11月29日 閲覧。
^ Warsaw, Barry; Hettinger, Raymond; Baxter, Anthony (2003年7月29日). “PEP 320 – Python 2.4 Release Schedule”. 2022年5月17日時点のオリジナルよりアーカイブ。 2019年 11月29日 閲覧 。
^ Norwitz, Neal; van Rossum, Guido; Baxter, Anthony (2006年2月7日). “PEP 356 – Python 2.5 Release Schedule”. 2022年4月8日時点のオリジナルよりアーカイブ。 2019年 11月29日 閲覧 。
^ “17. 開発サイクル — Python 開発者ガイド”. 2023年1月18日時点のオリジナルよりアーカイブ 。 2019年 11月29日 閲覧。
^ abc Peterson, Benjamin (2009年2月8日). “PEP 375 – Python 3.1 Release Schedule”. 2022年4月19日時点のオリジナルよりアーカイブ 。 2019年 11月29日 閲覧。
^ Peterson, Benjamin (2011年6月12日). 「[リリース] Python 3.1.4」. python-announce (メーリングリスト). 2021年12月6日時点のオリジナルよりアーカイブ。 2019年 11月29日 閲覧 。
^ abcd Brandl, Georg (2009年12月30日). “PEP 392 – Python 3.2 Release Schedule”. 2022年4月19日時点のオリジナルよりアーカイブ 。 2019年 11月29日 閲覧。
^ abcd Brandl, Georg (2011年3月23日). “PEP 398 – Python 3.3 Release Schedule”. 2022年4月12日時点のオリジナルよりアーカイブ 。 2019年 11月29日 閲覧。
^ abc Hastings, Larry (2012年10月17日). “PEP 429 – Python 3.4 Release Schedule”. 2022年4月12日時点のオリジナルよりアーカイブ 。 2019年 11月29日 閲覧。
^ Hastings, Larry (2017年8月9日). 「[リリース] Python 3.4.7 が利用可能になりました」. python-announce (メーリングリスト). 2021年12月6日時点のオリジナルよりアーカイブ。 2019年 11月29日 閲覧 。
^ abc Hastings, Larry (2014年9月22日). “PEP 478 – Python 3.5 Release Schedule”. 2022年4月12日時点のオリジナルよりアーカイブ 。 2020年 3月17日 閲覧。
^ Hastings, Larry (2017年8月8日). 「[リリース] Python 3.5.4 が利用可能になりました」. python-announce (メーリングリスト). 2021年12月6日時点のオリジナルよりアーカイブ。 2019年 11月29日 閲覧 。
^ abcd Deily, Ned (2015年5月30日). “PEP 494 – Python 3.6 Release Schedule”. 2022年5月23日時点のオリジナルよりアーカイブ 。 2022年 5月23日 閲覧。
^ abcd Deily, Ned (2016年12月23日). “PEP 537 – Python 3.7 Release Schedule”. 2023年7月16日時点のオリジナルよりアーカイブ 。 2023年 7月16日 閲覧。
^ abcd Langa, Łukasz (2018年1月27日). “PEP 569 – Python 3.8 Release Schedule”. 2023年7月16日時点のオリジナルよりアーカイブ 。 2023年 7月16日 閲覧。
^ abcd Langa, Łukasz (2020年10月13日). “PEP 596 – Python 3.9 Release Schedule”. 2022年11月12日時点のオリジナルよりアーカイブ 。 2022年 12月7日 閲覧。
^ Langa, Łukasz (2019年6月4日). “PEP 602 – Annual Release Cycle for Python”. 2023年7月16日時点のオリジナルよりアーカイブ 。 2023年 7月16日 閲覧。
^ abcd Salgado, Pablo (2020年5月25日). “PEP 619 – Python 3.10 Release Schedule”. 2023年7月16日時点のオリジナルよりアーカイブ 。 2023年 7月16日 閲覧。
^ abcd Salgado, Pablo (2021年7月12日). “PEP 664 – Python 3.11 Release Schedule”. 2023年7月16日時点のオリジナルよりアーカイブ 。 2023年 7月16日 閲覧。
^ abcd Wouters, Thomas (2022年5月24日). “PEP 693 – Python 3.12 Release Schedule”. 2023年7月16日時点のオリジナルよりアーカイブ 。 2023年 7月16日 閲覧。
^ abcd Wouters, Thomas (2023年5月26日). “PEP 719 – Python 3.13 Release Schedule”. 2023年7月16日時点のオリジナルよりアーカイブ 。 2023年 7月16日 閲覧。
^ abcd van Kemenade, Hugo (2024年4月24日). 「PEP 745 – Python 3.14 リリーススケジュール」. Python Enhancement Proposals (PEPs) . 2025年 5月7日 閲覧 。
^ abcd van Kemenade, Hugo (2025年4月26日). 「PEP 790 – Python 3.15 リリーススケジュール」. Python Enhancement Proposals (PEPs) . 2025年 5月7日 閲覧 。
外部リンク
Pythonの歴史に関するGuido Van Rossumのブログ