Python 2 與 3 共存了 11 年,新年就要和它道別

来源:https://www.cnblogs.com/zkqiang/archive/2019/12/31/12125399.html
-Advertisement-
Play Games

在 Python 3.9 都已經進入 dev 版本的 2020 年,Python 2 終於要和我們告別了。 ...


在 Python 3.9 都已經進入 dev 版本的 2020 年,Python 2 終於要和我們告別了。

2 and 3

Python 2 第一個版本發佈於 2000 年 10 月 16 日,到今年正好是第 20 個年頭。而 Python 3 發佈於 2008 年 12 月 3 日,但由於 3.0 版本在底層進行了大量重構(主要是 Unicode 與 C API 的改動),無法完整相容 Python 2,因此官方並沒有停止對 Python 2 的維護。

從此 2 與 3 依然都在發佈新版本,官方想通過平滑的方式過渡到新版本。然而並不是所有的社區貢獻者有這種精力去同時維護兩個版本,許多開源庫它們至今都停更在 2.X 版本。

兩版本共存的日子,一晃就是 11 年。

2 to 3

好在 Python 3 更新了越來越多獨有的特性與性能優化,加上社區的不斷努力推動,在近幾年爆發增長的初學者當中,大部分都被推薦使用了 3.X 版本作為入門版本,3 版本在近幾年才占據了主導。

兩版本使用比例趨勢

終於 Python 核心開發團隊對外宣佈,將在 2020 年逐步停止對 Python 2 的支持,但並沒有給出具體時間。

2017 年 NumPy 正式宣佈將在 2019 年 1 月 1 日停止支持 Python 2。之後 pandas 與 Jupyter notebook 等開發團隊紛紛宣佈即將停止支持 2.X 版本。

2018 年 Python 創始人 Guido van Rossum 在官方郵件組表示,他們將於 2020 年 1 月 1 日停止對 Python 2.7 的支持,這也是 2.X 最後一個版本。

Guido 郵件截圖

他在郵件寫道:

不要玩文字游戲了!Python 2.7 的 EOL(停用)日期是 2020 年 1 月 1 日,接下來,將不會有任何更新,也不會再有源碼安全補丁。在此日期之後,Python 核心開發者、PSF 和 python.org 將不會提供任何支持。如果你還想獲得支持,那得付相關商業費用。當然,它是開源的,所以我們也歡迎大家 fork。
我們最初決定 2015 年為 EOL 日期,然後推遲到 2020 年,給大家的時間已經很充足了,核心開發者也辛苦太久了。此外,坦誠地說,我並不覺得停用 Python 2.7 是件壞事。

After 3

不過停止更新並不會有多大的影響,因為根據 JetBrains 最新的 Python 開發者報告顯示,近九成的開發者已經使用 Python 3 版本。

JetBrains 開發者報告

相信在 2020 年使用 Python 2 的開發者將低於 5%。

如果你有代碼想遷移 Python 3,別忘了嘗試使用官方提供的 2to3 遷移工具。

另外 3.9 版本已經有 dev 版本了,留給 Python 3 的版本號也到頭了(除非使用兩位數),後續 Python 怎麼走,咱們拭目以待。

最後祝各位讀者新年快樂!


本文屬於原創,首發於微信公眾號「面向人生編程」,如需轉載請後臺留言。

關註後回覆以下信息獲取更多資源
回覆【資料】獲取 Python / Java 等學習資源
回覆【插件】獲取爬蟲常用的 Chrome 插件
回覆【知乎】獲取最新知乎模擬登錄


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 傳值還是傳引用 調用函數時, 傳入的參數的 傳值 還是 傳引用 , 幾乎是每種編程語言都會關註的問題. 最近在使用 golang 的時候, 由於 傳值 和 傳引用 的方式沒有弄清楚, 導致了 BUG. 經過深入的嘗試, 終於弄明白了 golang 的 傳值 的 傳引用 , 嘗試過程記錄如下, 供大家 ...
  • 1. Maven綜述與拓展概念準備 Maven起源:生產環境下開發不再是一個項目一個工程,而是每一個模塊創建一個工程, 而多個模塊整合在一起就需要使用到像 Maven 這樣的構建工具。 Maven定義:一個自動化構建工具 Maven簡介:Maven是Apache軟體基金會組織維護的一款自動化構建工具 ...
  • 效果 修改步驟 Settings -> Editor -> Code Style -> Java ...
  • 黑馬客戶管理系統 1系統概述 1.1系統功能介紹 本系統後臺使用SSM框架編寫,前臺頁面使用當前主流的Bootstrap和jQuery框架完成頁面信息展示功能(關於Bootstrap的知識,有興趣的讀者可參考黑馬程式員編著的《響應式Web開發項目教程》)。系統中主要實現了兩大功能模塊:用戶登錄模塊和 ...
  • 我將 Visual Studio Code 作為Rust首選編輯器。遺憾的是 VS Code 不能非常好地完成 Rust 的調試。 配置調試器不難,但仍然需要幾個步驟。我已經完整配置了好幾次。我正在寫這個指南,以方便我以後查閱,而不必非要記住詳細的安裝步驟。 希望這個指南對老鐵們也能有些幫助,要記得 ...
  • 前言 morphia是java 使用orm方式操作mongodb的一個庫。但是預設情況下,使用morphia存取enum時,是按名字存取的。而我們需要把enum按照值存取。 如圖:schoolClassLevel1欄位是預設的按enum的name進行存取的,schoolClassLevel是我們想要 ...
  • 1.1 兩個工程: umf-pay-sdk | umf-pay-sdk-core |--umf-pay-demo 其中, 這個工程用來對接聯動的支付介面,依賴log4j來列印日誌。umf-pay-sdk-core是一個module,編譯後會打成jar。umf-pay-demo是測試主程式,用來測試y ...
  • 2019-12-31 17:28:38 一般只需要把Java站點文件夾或*.war文件拷貝到Web Server的webapps文件夾下,即可啟動運行該站點,但更多時候,我們並不想拷貝站點,而是希望Web在Server文件夾之外運行,這時就需要配置虛擬目錄了。不同的WebServer配置虛擬目錄的方 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...