你可能聽說過Python 2和Python 3。儘管它們是同一種語言的兩個版本,但它們的語法不同;用Python 3編寫的程式碼可能無法在Python 2中執行。讓我們來看看如何在Windows、macOS和Linux系統的命令列和指令碼中檢查你的Python版本。
Python是最流行的程式語言之一。由於其簡單的語法、高生產率和驚人的開源庫,[Python幾乎可以用來做任何事情]
然而,你可能已經注意到,有些人使用Python 2,而另一些人則喜歡Python 3。這兩個版本之間的差異非常顯著,不僅僅是修復了一些錯誤和新增了一些新功能。如果應用程式是用Python 2編寫的,你可能無法用Python 3來執行它。
所以,你必須知道你電腦上安裝的Python版本。讓我們看看如何檢視Python版本。我們將從命令列開始。
在命令列中檢視Python版本
你可以很容易地在命令列/終端/外殼中檢視你的Python版本。首先,讓我們回顧一下如何在不同的作業系統中訪問命令列。
Windows
- 按下 Win+R 鍵
- 輸入 powershell
- 按 OK 或 Enter
macOS
- 開啟 Finder
- 點選 Applications
- 選擇 Utilities -> Terminal
Linux
- 開啟 terminal 視窗
然後,在上述任一作業系統中,你只需在命令列中輸入**python --version**
或python -V
,然後按**Enter**
。你會得到這樣的結果:
python --version
Python 3.8.3
python -V
Python 3.8.3
根據你的Python發行版,你可能會在結果集中得到更多資訊。然而,我們要找的是“Python”後面的數字。在這種情況下,完整的版本號是3.8.3。
通常,我們只關心主要版本——Python 2或Python 3。這由完整版本號的第一個數字表示。在我們的例子中,這個數字是3,這意味著我們安裝的是Python 3。
從Python 3.6開始,你還可以使用**python -VV**
(這是兩個V,不是一個W)來獲得關於你的Python版本的更詳細資訊:
python -VV
Python 3.8.3 (default, Jul 2 2020, 17:30:36) [MSC v.1916 64 bit (AMD64)]
有時你可能想在編寫應用程式時檢查Python的版本(即在指令碼中)。這在你電腦上安裝了多個Python版本時尤其有用。要檢查正在執行的Python版本,你可以使用sys模組或platform模組。指令碼在Windows、macOS和Linux中都是相同的。
要使用sys模組檢查Python版本,編寫如下程式碼:
import sys
print (sys.version)
你會得到:
要使用platform模組檢查Python版本,使用如下程式碼:
import platform
print(platform.python_version())
輸出如下:
兩個程式碼片段都會以字串格式輸出Python版本。如果需要,你還可以以元組格式獲取版本號。元組包含五個組成部分:主要版本、次要版本、微版本、釋出級別和序列號:
當然,你可以透過索引(如sys.version_info[0]
)或名稱(如sys.version_info.major
)輕鬆獲取這個元組的各個組成部分。
很簡單,對吧!
Python 2還是Python 3?
現在我們知道如何檢視Python版本了。但這兩個版本有什麼區別呢?
Python 2 是一個較舊的版本,以前廣泛用於軟體開發和IT運維(DevOps)。然而,自2020年1月1日起,它不再開發和維護,已經停止更新。這意味著Python 2中發現的任何錯誤或安全問題都不會再被修復。Python的志願開發者建議使用Python 2的人儘快遷移到Python 3。
Python 3 於2008年首次推出。它的語法和行為與Python 2有很大不同,但通常認為Python 3更簡單易懂。
由於Python 2不再受支援,如果你正在編寫新應用程式或剛開始學習Python,你一定要選擇Python 3。唯一需要學習Python 2的理由是如果你公司的程式碼是用Python 2編寫的,並且你需要處理它。這種情況應該不會經常發生,特別是在Python 2停更一段時間後。
關注我,緊跟本系列專欄文章,咱們下篇再續!
作者簡介:魔都架構師,多家大廠後端一線研發經驗,在分散式系統設計、資料平臺架構和AI應用開發等領域都有豐富實踐經驗。
各大技術社群頭部專家博主。具有豐富的引領團隊經驗,深厚業務架構和解決方案的積累。
負責:
- 中央/分銷預訂系統效能最佳化
- 活動&券等營銷中臺建設
- 交易平臺及資料中臺等架構和開發設計
- 車聯網核心平臺-物聯網連線平臺、大資料平臺架構設計及最佳化
- LLM應用開發
目前主攻降低軟體複雜性設計、構建高可用系統方向。
參考:
- 程式設計嚴選網
本文由部落格一文多發平臺 OpenWrite 釋出!