Python 這個程式語言的簡單歷史

閱讀時間約 5 分鐘
Python 之父 Guido van Rossum 與 Python 的版本分歧
Python 從創立之初的沒沒無名,至今被譽為「初學者最佳語言」,在 Python 社群背後默默貢獻的「鄉民」們居功厥偉!以致於不論網頁程式設計、手機程式設計、遊戲程式設計、自動控制程式…等各行各業,它都可以佔有一席之地。在此,我們就來說說 Python 的簡史,以及它赫赫有名的「版本分歧」事件。讓 Python 的初心者,也能跟老手侃侃而談 Python 當年的風花雪月。

黎明至茁壯:Python 1.0 ~ Python 2.6

Python 是在 1989 年 12 月,由一位荷蘭人 Guido van Rossum 製作。一直到 1991 年 2 月,他把 Python 0.9 版發佈在 alt.sources 這個新聞論壇,並開始廣為人知。接著於 1994 年 1 月,發表 Python 1.0 正式版,同年成立 comp.lang.python 專屬討論區,奠定了 Python 蓬勃發展的第一步。
2000 年 10 月,Python 進入 2.0 。除了新增一些語法,及加強記憶體管理功能外,語法與 Python 1.x 沒有太大差異。隨後為了因應各界對 Python 語言的殷殷期待,開發小組一直猛加新功能到 Python 語法裡。從 Python 2.1, 2.2, 2.3…一直到 2.6 ,Python 已經變得相當「臃腫」了。許多前後時間增添的語法,不僅重複,而且繁雜矛盾,令初學者望之卻步。如何把 Python 「減肥」,去蕪存菁,當時變成迫在眉睫的一等大事。

合久必分:Python 2.6 vs. Python 3.0

於是,在 2008 年 12 月,Python 開發小組投下一顆震撼彈:Python 3.0 釋出,而且語法與 Python 2.6 大大不相容!以前用 Python 2.6 寫的程式,若要在新的 Python 3.0 平台跑,幾乎要打掉重練。Python 開發小組在想不出更好的瘦身方法之下,忍痛廢掉 Python 2.x 架構重做。這也導致目前 2.x 與 3.x 出現所謂「Python 斷層」、程式碼無法互為引用的窘境。
也因此,老練的 Python 程式設計師,在拿到一段原始碼後,一定會問個問題:「這個程式是用 Python 2 寫的?還是 Python 3?」因為 Python 2 與 Python 3 的語法差異,已經大到不全面修改,無法互相使用的地步!如果您初學 Python,拿到一段原始碼,也建議您確認一下這段 Python 程式是用 2.x 還是 3.x 語法寫成的比較好。
在一些死守 Python 2.x 語法的程式師強烈要求下,開發小組釋出 Python 2.7。除了修正 2.6 的一些問題外,盡量不添加新功能,好讓使用 Python 2.6 撰寫的程式,能有個穩定的環境來執行。但在 2014 年 11 月,開發小組宣布「不會有 Python 2.8」,並且「將於 2020 年,終止 Python 2.x 這條路線的支援」。這無疑是敲響 Python 2.x 的喪鐘!所以 Python 2.7,可以說是 Python 2.x 的「安寧病房」,這個分支只剩下不到幾年的壽命了。
那初學者該學 Python 2 還是 Python 3 呢?如果您現在才要開始學 Python,請直接學習 Python 3.x。除非您被要求維護 Python 2.x 的舊程式碼,否則購買相關書籍時,請確認購買到的是討論 Python 3.x 語法的書。若您無法確定,就直接買其他本。Python 好書不少,不用冒險去買一本可能用不到的書籍。

Python 編年史

為了讓您瞭解 Python 簡單的歷史,以下條列附上各版本號碼,與釋出時間,供讀者參考:

Python 1.0(1994/01)

  • Python 1.5(1997/12/31)
  • Python 1.6(2000/09/05)

Python 2.0(2000/10/16)

  • Python 2.1(2001/04/17)
  • Python 2.2(2001/12/21)
  • Python 2.3(2003/07/29)
  • Python 2.4(2004/11/30)
  • Python 2.5(2006/09/19)
  • Python 2.6(2008/10/01)
  • Python 2.7(2010/07/03)

Python 3.0(2008/12/03)

  • Python 3.1(2009/06/27)
  • Python 3.2(2011/02/20)
  • Python 3.3(2012/09/29)
  • Python 3.4(2014/03/16)
  • Python 3.5(2015/09/13)
  • Python 3.6(2016/12/23)
  • Python 3.7(2018/06/27)
  • Python 3.8(2019/10/14)
參考資料:維基百科「History of Python」詞條
希望藉由這個小節的介紹,能讓您瞭解 Python 有 2.x 與 3.x 語法上的區別,以及決定該學習哪個版本的 Python。
為什麼會看到廣告
3會員
4Content count
「程式語言也可以輕鬆閒聊!」做為一個學習程式設計 30 年的老骨頭,面對許多人學習程式的急迫與焦慮感,會希望大家放輕鬆!其實程式語言不過是與「電腦星人」日常對話的一種方法而已!期待大家透過這個專題,能一點一滴地解除防衛心,張開雙臂擁抱「電腦」這位新朋友!
留言0
查看全部
發表第一個留言支持創作者!
你可能也想看
Thumbnail
1.加權指數與櫃買指數 週五的加權指數在非農就業數據開出來後,雖稍微低於預期,但指數仍向上噴出,在美股開盤後於21500形成一個爆量假突破後急轉直下,就一路收至最低。 台股方面走勢需觀察週一在斷頭潮出現後,週二或週三開始有無買單進場支撐,在沒有明確的反轉訊號形成前,小夥伴盡量不要貿然抄底,或是追空
Thumbnail
重點摘要: 1.9 月降息 2 碼、進一步暗示年內還有 50 bp 降息 2.SEP 上修失業率預期,但快速的降息速率將有助失業率觸頂 3.未來幾個月經濟數據將繼續轉弱,經濟復甦的時點或是 1Q25 季底附近
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
在讀取檔案時,最怕路徑的問題,常常會有路徑錯誤造成的異常報錯。 為了避免諸如此類的問題發生,明白程式的當前目錄與檔案的路徑是很重要的。 可以利用os 模組是 Python 中的一個標準庫,提供了許多與操作系統的功能。 以下是一些常用的 os 模組基本操作及其範例: 1. os.getcwd
解讀JSON 字串 首先,你需要使用 Python 的 json 模組來解讀JSON 字串。 JSON的基本結構: 由花括號 {} 包圍,內部是鍵值對的集合,每個鍵值對之間用逗號分隔。 鍵是字串類型,值可以是任何JSON支持的資料類型(字串、數字、布林值、陣列、物件或 null)。 {
Thumbnail
如何觀察一家個股的好壞,最直觀的方式就是查詢其財務報表,像是資產負債表或是現金流量表等等,但這些報表中存在著密密麻麻的眾多指標,真的是會讓人看了頭昏眼花,而且也真的是極少數人才會每個指標都關注,大多的人一定都是觀察幾個自認為比較重要的指標而已吧,因為我就是如此,因此今天我們就來學習如何一鍵輕鬆查詢報
Thumbnail
在看官網文件時,看到一份文件:PEP 8 -- Style Guide for Python Code。這份文件是關於Python程式碼風格的指引和建議。
Thumbnail
畢竟~我是一個懶人嘛... 估狗之後,大部分的做法就是手動的去下載當前瀏覽器對應版本的 Driver,放到一個特定位置,將 Driver Binary 位置指向它。 在 Google Chrome About Page 你可以看到版本 接著去下載對應的 Chrome Driver ↓ 解決方案:
Thumbnail
1.加權指數與櫃買指數 週五的加權指數在非農就業數據開出來後,雖稍微低於預期,但指數仍向上噴出,在美股開盤後於21500形成一個爆量假突破後急轉直下,就一路收至最低。 台股方面走勢需觀察週一在斷頭潮出現後,週二或週三開始有無買單進場支撐,在沒有明確的反轉訊號形成前,小夥伴盡量不要貿然抄底,或是追空
Thumbnail
重點摘要: 1.9 月降息 2 碼、進一步暗示年內還有 50 bp 降息 2.SEP 上修失業率預期,但快速的降息速率將有助失業率觸頂 3.未來幾個月經濟數據將繼續轉弱,經濟復甦的時點或是 1Q25 季底附近
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
在讀取檔案時,最怕路徑的問題,常常會有路徑錯誤造成的異常報錯。 為了避免諸如此類的問題發生,明白程式的當前目錄與檔案的路徑是很重要的。 可以利用os 模組是 Python 中的一個標準庫,提供了許多與操作系統的功能。 以下是一些常用的 os 模組基本操作及其範例: 1. os.getcwd
解讀JSON 字串 首先,你需要使用 Python 的 json 模組來解讀JSON 字串。 JSON的基本結構: 由花括號 {} 包圍,內部是鍵值對的集合,每個鍵值對之間用逗號分隔。 鍵是字串類型,值可以是任何JSON支持的資料類型(字串、數字、布林值、陣列、物件或 null)。 {
Thumbnail
如何觀察一家個股的好壞,最直觀的方式就是查詢其財務報表,像是資產負債表或是現金流量表等等,但這些報表中存在著密密麻麻的眾多指標,真的是會讓人看了頭昏眼花,而且也真的是極少數人才會每個指標都關注,大多的人一定都是觀察幾個自認為比較重要的指標而已吧,因為我就是如此,因此今天我們就來學習如何一鍵輕鬆查詢報
Thumbnail
在看官網文件時,看到一份文件:PEP 8 -- Style Guide for Python Code。這份文件是關於Python程式碼風格的指引和建議。
Thumbnail
畢竟~我是一個懶人嘛... 估狗之後,大部分的做法就是手動的去下載當前瀏覽器對應版本的 Driver,放到一個特定位置,將 Driver Binary 位置指向它。 在 Google Chrome About Page 你可以看到版本 接著去下載對應的 Chrome Driver ↓ 解決方案: