準備學編程的注意了!Python 2今日正式終止支持

鈦靈創新 發佈 2020-01-02T08:29:51+00:00

它支持邊緣深度學習,搭配Model Play人工智慧模型共享平台,開發者可以輕鬆將 AI 模型移植到程序中開發應用。

從2020年1月1日開始,Python 2.7將正式不受支持。壽命終止(EOL)對你意味著什麼? 如果運行Python 2,則需要遷移。


長期以來,Python 3的採用一直是Python社區爭論的話題。 儘管現在已經獲得了廣泛的支持,但有些仍然很正確,例如Django等一些非常受歡迎的項目完全放棄了對Python 2的支持。

Python為什麼這麼流行?

Python由Guido van Rossum於1991年創建,是一種奇妙而令人驚嘆的語言,其設計具有可讀性和能夠在幾行代碼中表示任何想法的能力。

Python的學習曲線很短。它是一種複雜的語言,它使開發人員可以提出自己的想法並進行測試,而不會出現很多問題。


Python可以在多種情況下使用,無論是在線還是離線。 以下是一些使用Python的有趣地方:

Google在其Spider中使用python。

NASA在其集成計劃系統中使用Python作為Johnson Space Center的標準腳本語言。

Red Hat將Python用於Red Hat Linux的安裝程序(anaconda)和配置實用程序。

IBM使用Python為IBM East Fishkill的工廠工具控制應用程式創建業務實踐邏輯。

中央情報局(CIA)與Zope一起使用Python建立了網站。

沃爾特迪斯尼特色動畫公司使用Python向其動畫製作系統添加了腳本功能。

如你所見,Python在Web和非Web開發方面都邁出了重要的一步。如果你是該語言的新手,那麼這對你有好處,因為你可以找到很多學習資源,包括Python庫參考,據說這是「你擁有的最重要的東西」。我的經驗,一個新的Python程式設計師,你要處理的最困難的事情就是導入。你需要學習一些技巧。


Python 2與Python 3

為什麼會有兩個版本的Python?

然而,在Python領域,變革已經進行了一段時間。 擁有軟體版權的獨立非營利組織Python Software Foundation在2010年發布了2.7版,同時將代碼庫同時升級到3.x的各種疊代。 多年來,由於其各種優點,公司和項目開始遷移到Python 3。

然而,許多知名的大公司仍在使用Python 2。

為什麼? 一句話:兼容性。

Python 3不是「向後兼容」的,這意味著如果你的公司正在使用各種Python 2庫,則它們在升級後可能不再起作用。


在Python 2上運行代碼的公司必須做出艱難的選擇:要麼必須找到可用於Python 3的替代庫,要麼就只能使用Python2。Dropbox編寫了一份詳細的報告,報告該過程使他們花了三年時間進行升級 。

你沒看錯,Dropbox花費了三年的時間才完成從Python 2到Python 3的升級—真是的,Guido Van Rossum(Python的發明者)在Dropbox工作!

誰決定終止Python 2?

在2012年,維護Python程式語言的團隊對其選項進行了審查。 有兩個越來越不同的代碼庫,Python 2和Python3。兩者都很流行,但是較新的版本並未得到廣泛採用。

除了Python 3通過完全重新使用Unicode支持來中斷處理數據的基本方式的中斷之外,主要版本的更改還允許一次性實現非向後兼容的更改。 該決定於2006年記錄在案。為緩解破壞,Python 2繼續維護,並向後移植了一些功能。 為了進一步幫助社區過渡,將終止日期從2015年延至2020年,又延長了五年。

Nick Coghlan是CPython的核心開發人員,也是Python指導委員會的現任成員,他在博客中添加了更多信息。 由Barry Warsaw(也是Python指導委員會的成員)編寫的PEP 404詳細說明了為什麼Python 2.8永遠不會成為現實。


有人還在支持Python 2嗎?

堅持使用Python 2的最大原因之一是,如果你對使用Python 2編寫的大型代碼庫感興趣,請移動使用舊版某種語言編寫的大型應用程式,或用另一種語言重新編寫它。總共可能是一項艱巨的任務。

留在Python 2中的另一個原因是,你的代碼是否依賴於最初為Python 2編寫的尚未擴展的特定擴展。他們中的大多數人已經過,但不是全部。由你決定是否值得繼續使用舊版擴展程序(也稱為「程序包」)。

使用Python 3的理由

不管是否有持續的支持,儘快遷移到Python 3是一個好主意。 Python 3將繼續受到支持,它具有Python 2所沒有的一些非常整潔的東西。

最近發布的Python 3.8包括walrus運算符,僅位置參數和自記錄f-字符串等功能。 Python 3的早期版本引入了asyncio,f-字符串,類型提示和pathlib等功能,僅舉幾例。

最受歡迎的360個下載最多的軟體包已經遷移到Python3。你可以使用caniusepython3軟體包檢查你的requirements.txt文件,以查看你依賴的任何軟體包是否尚未遷移。

為什麼選擇Python 3?

坦率地說,Python 2是傳統,Python 3是未來。如果你開始學習編碼,請學習Python3。這是你學習Python 3的一些其他原因:

1)舊版代碼不受維護。 2020年將不再維護Python 2。

2)學習最佳實踐。 Python 3包含Python 2中不可用的升級。

3)編寫更簡潔的代碼。 Python 3對其結構進行了優雅的修改,以使執行動作所需的代碼行更少。

4)避免語法混亂。兩個版本之間存在一些小的語法差異,這可能會使初學者感到沮喪。

Python 2和Python 3有什麼區別?


初學者將要編寫的Python代碼的第一行是告訴計算機使用print功能返回短語「 Hello world!」。

Python 2:

Print 「Hello world!」

Python 3:

print(「Hello world!」)

結果:計算機返回的結果相同,但是你可能會發現在Python 3中使用嵌套在括號中的代碼的頻率更高。這也有編程上的原因:Python 3更易於閱讀。

如果這聽起來像是要記住的很多括號,那就不要害怕! 在學習過程的開始,你將安裝一個文本編輯器,該文本編輯器專門用於突出顯示缺少的括號和其他語法錯誤,甚至可以自動填充許多常見的內容。


Python變量

涉及更廣泛使用括號的第二個示例是用不同的變量替換返回的準備好的文本行。

Python 2:

User20987 = 「Chris Castiglione」

print 「Hi, %, hope you』re having a great day today!」 % (User20987)

Python 3:

User20987 = 「Chris Castiglione」

print(「Hi {0}, hope you』re having a great day today!」).format(User20987))

為什麼我建議學習Python 3:

在計算速度方面,Python 2 vs 3的性能已得到顯著提高,但是Python 3在已有的Python 2強大功能的基礎上也進行了改進。


在開始時,你會學到一些很酷的新知識:

易於用戶輸入。常見的早期課程是獲取用戶輸入的數據(例如,上面使用的輸入語法示例),並將其傳遞給簡單的腳本以創建信息列表。 Python 3在此過程上進行了改進。

改進的號碼管理。 Python 3包含了一些數學計算方面的改進,這些改進對許多應用程式都至關重要。

支持流行的加載項。你還將學習默認Python 3安裝中未包含的名為「模塊」和「包」的擴展程序的概念。隨著你的成長,安裝和使用它們將成為你日常工作的一部分。多年來,幾乎所有最受歡迎的軟體包都已經支持Python 3。

Unicode支持。你知道表情符號是Unicode字符嗎? Python 2中沒有表情符號!

鈦靈AIX是一款集計算機視覺與智能語音交互兩大核心功能為一體的人工智慧「超級大腦」,搭載 Intel 專業級 AI 加速晶片與多種傳感器。它支持邊緣深度學習,搭配 Model Play人工智慧模型共享平台,開發者可以輕鬆將 AI 模型移植到程序中開發應用。而且鈦靈AIX預先配置了 Python、C++ 的語言運行環境。結合Model Play,將模型的推理結果配合自己編寫的python代碼,開發者即可以開發一個屬於自己的AI小程序。

關鍵字: