Python 史（Python 之歷史；Python 語言歷史；History of Python）；程式語言 Python 是在 1980 年代後期所構思出來的，並於 1989 年 12 月由荷蘭 CWI 的吉多範羅蘇姆開始進行程式設計發展。Python 繼承 ABC 程式語言的特性，能夠處理異常的狀況；並與 Amoeba 互動運作。範羅蘇姆是 Python 的主要程式設計者，他在決定 Python 發展方向等方面的持續核心作用當中扮演著重要的角色、這些分量都反映在 Python 社群給他的頭銜中；即是所謂的終身仁慈獨裁者。 不過範羅蘇姆於 2018 年 7 月 12 日卸任 Python 研發的領導者。Python 一詞是以 BBC 電視節目蒙提派森的飛行馬戲團之名名之。 Python 20 版於 2000 年 10 月 16 日發布的，具有許多主要的新特性，包括用於記憶體管理的迴圈檢測垃圾回收器 除了引用計數之外 以及對 Unicode 的支援。不過，Python 最重要的變化是開發過程的本身，具有轉向更加透明、以及 Python 社群強大的技術支援。 Python 30 版是一個主要的 向後不相容backwardsincompatible 版本，經過長時間的測試之後，於 2008 年 12 月 3 日釋出。Python 30 的許多主要功能也被向後移植到 向後相容backwardscompatible 的 Python 26 以及 27 版本，儘管這種 Python 30向後移植 的方法目前不怎麼受支援。 版本 3 相對版本 2 的主要變化 Python3 相較於 Python2 的變化主要在以下幾個方面： 除法運算子 在 Python 3x 內總是返回浮點數。而在 Python 26 內會判斷被除數與除數是否是整數。如果是整數會返回整數值，相當於整除；浮點數則返回浮點數值。要讓 Python 26 統一返回浮點數值，可以 from __future__ import division。 print 語句沒有了，取而代之的是 print 函式。可以使用 2to3 工具來自動轉換。Python 26 與 Python 27 部分地支援這種形式的 print 語法。Python 26 要支援完全新的 print 語法，可以 from __future__ import print_function。 取消了 exec 語句，只剩下 exec 函式。Python 26 已經支援 exec 函式。 移除 Python 2 的 input 函式，並將 raw_input 函式重新命名為 input。Python 3 的 input 函式表現得如同 Python 2 的 raw_input 函式，在其中輸入總是作為字串返回而非作為表示式求值。 捕獲異常的語法由 except exc var 改為 except exc as var。使用語法 except exc1 exc2 as var 可以同時捕獲多種型別的異常。Python 26 已經支援這兩種語法。 如果兩個物件之間沒有定義明確的有意義的順序。使用 比較它們會丟擲異常。比如 1 在 Python 26 裡面會返回 True，而在 Python 30 裡面會丟擲異常。現在 cmp instance__cmp__ 函式已經被刪除。 集合（set）的新寫法：1234。注意 仍然表示空的字典（dict）。 將 long 型別重新命名為 int 型別，就是說只有一種整數型別，叫做 int 而表現得更像老式的 long。 新的 str 型別表示一個 Unicode 字串，相當於 Python 2x 版本的 unicode 型別。而位元組序列則用類似 babc 的語法表示，用 bytes 類表示，相當於 Python 2x 的 str 型別。現在兩種型別不能再隱式地自動轉換，因此在 Python 3x 裡 fish bpanda 是錯誤的。正確的寫法是 fish bpandadecode utf8。Python 26 可以自動地將位元組序列識別為 Unicode 字串，方法是 from __future__ import unicode_literals。 八進位制數必須寫成 0o777，原來的形式 0777 不能用了；二進位制必須寫成 0b111。新增了一個 bin 函式用於將一個整數轉換成二進位制字串。Python 26 已經支援這兩種語法。 dictkeys dictvalues dictitems map filter range zip 不再返回列表，而是迭代器。 將 reduce（不涉及 map 或 filter）從內建名字空間移動至 functools，理由是使用 reduce 的程式碼不如使用迴圈和累加器變數的程式碼好讀。 多個模組被改名（根據 PEP8）：_winreg winreg，ConfigParser configparser，copy_reg copyreg，Queue queue，SocketServer socketserver，repr reprlib。 StringIO 模組現在被合併到新的 io 模組內。new md5 gopherlib 等模組被刪除。Python 26 已經支援新的 io 模組。 httplib BaseHTTPServer CGIHTTPServer SimpleHTTPServer Cookie cookielib 被合併到 http 包內。 版本列表 各階段之版本 編號版本之前的版本： 開始實施 1989 年 12 月 CWI 的內部版本 1990 版本 最新微版本 發布日期 完全支援結束 安全修復結束 099 19910220 19930729 19930729 104 19940126 19940215 19940215 111 19941011 19941110 19941110 19950413 Unsupported Unsupported 19951013 Unsupported Unsupported 19961025 Unsupported Unsupported 152 19980103 19990413 19990413 161 20000905 200009 200009 201 20001016 20010622 20010622 213 20010415 20020409 20020409 223 20011221 20030530 20030530 237 20030629 20080311 20080311 246 20041130 20081219 20081219 256 20060919 20110526 20110526 269 20081001 20100824 20131029 2718 20100703 20200101 20200101 301 20081203 20090627 20090627 315 20090627 20110612 20120406 326 20110220 20130513 20160220 337 20120929 20140308 20170929 3410 20140316 20170809 20190318 3510 20150913 20170808 20200930 3615 20161223 20181224 20211223 3712 20180627 20200627 20230627 3820 20191014 20210503 20241007 3920 20201005 20220517 202510 31015 20211004 20230405 202610 31110 20221024 20240402 202710 3127 20231002 202505 202810 3130rc3 20241001 202605 202910 NA 20251001 202705 203010 圖例： 圖例： 表註 支援 註釋 參閲 Amoeba 阿米巴作業系統 Python 語法及語義 外部連結 Guido Van Rossum blog on Pythons History Python CategoryPython Python