包含2而不是python的詞條

本文目錄一覽:

python2和python的區別

1. print不再是語句,而是函數,比如原來是 print ‘abc’ 現在是 print(‘abc’)

但是 python2.6+ 可以使用 from __future__ import print_function 來實現相同功能

2. 在Python 3中,沒有舊式類,只有新式類,也就是說不用再像這樣 class Foobar(object): pass 顯式地子類化object

但是最好還是加上. 主要區別在於 old-style 是 classtype 類型而 new-style 是 type類型

3. 原來1/2(兩個整數相除)結果是0,現在是0.5了

python 2.2+ 以上都可以使用 from __future__ import division 實現改特性, 同時注意 // 取代了之前的 / 運算

4. 新的字符串格式化方法format取代%

錯誤, 從 python2.6+ 開始已經在str和unicode中有該方法, 同時 python3依然支持 % 算符

5. xrange重命名為range

同時更改的還有一系列內置函數及方法, 都返回迭代器對象, 而不是列表或者 元組, 比如 filter, map, dict.items 等

6. !=取代     

python2 也很少有人用      所以不算什麼修改

7. long重命名為int

不完全對, python3 徹底廢棄了 long+int 雙整數實現的方法, 統一為 int , 支持高精度整數運算.

8. except Exception, e變成except (Exception) as e

只有 python2.5 及以下版本不支持該語法. python2.6 是支持的. 不算新東西

9. exec變成函數

類似 print() 的變化, 之前是語句.

簡單補充下

* 主要是類庫的變化, 組織結構變了些. 但功能沒變. urlparse –   urllib.parse 這樣的變化

* 最核心的變化它沒有說, 對 bytes 和 原生 UNICODE 字符串的支持, 刪除了 unicode 對象, str 為原生 unicode 字符串, bytes 替代了之前的 str 這個是最核心的.

* 其它… 貌似不怎麼重要了.

用python2還是python3

目前Python的版本有 Python 2 和 Python 3兩個版本 。 那如果想學習Python,是選擇學習 Python2 還是 Python 3呢?

白月黑羽認為首先你需要了解Python2 和Python3 的區別,然後才能根據你的情況作出正確的選擇。

分析

目前Python2 用的最多的是Python2.7,由於歷史原因,Python2可以說是使用的時間很長,應用最廣泛的一個版本,舉兩個例子:

如果做底層開發,應該知道UDK、UEFI,UEFI的核心代碼的編譯工具和腳本都是基於Python2.7開發的

目前所有的Linux版本,包括Ubuntu、redhat、centos、FC等,系統默認工具和安裝的Python版本為皆為2(大多數為Python2.7),大家可以在黑屏終端裡面直接輸入Python 查詢

第一個可能只有業內人士知道,但是第二個,只要你從事軟件開發的人,就會明白Python2.7的應用範圍之廣。

由於大量的第三方庫和工具都是在Python2上開發的,而且,最早學習Python的人也都是從Python2開始學習了,產品也在Python2 上開發和維護,所以, Python組織還在維護 Python 2。造成了Python 2 和 Python 3 並存的狀態, 而且在很長的一段時間將繼續存在。但是,Python 組織 官方宣布,到 2020年,不再維護 Python 2 了

至於Python3,它是 Python 2的 升級版,語法和庫有一些差異,但不兼容Python 2。從發展趨勢上看,整個業界都在 往 Python 3 轉,是大勢所趨。

選擇

那是學習 Python2 還是 Python 3呢?白月黑羽認為:

如果你是一個初學者,白月黑羽建議你可以 直接學習 Python 3,從這裡開始和白月黑羽一起學習Python3吧!

如果你是一個Python2 的開發者,白月黑羽也建議先了解Python2和Python3的區別,以便把你的產品早日升級支持Python 3

Python3 目前使用比較廣泛的是Python3.6,但最新的是Python3.7,我們的教程的參考版本也是Python3.6,至於是使用 python3.6 而不是 3.7。 具體原因,請參考選擇 Python3.6 還是 Python 3.7

推薦學習《python教程》。

ubuntu上怎麼設置默認python命令是執行python3而不是python2

首先看你的PATH變量,把python3所在的目錄放到前面,然後看看用which命令查看python指向那個文件,一般是軟鏈接,看它指向的是python2還是python3,如果沒有指向python3的,新建一個

python2和python有什麼區別

很多初學者剛開始學python的時候,一定都遇到過這個問題,python的世界有2個版本,python2 和 python3 ,而且有些語法還不兼容.怎麼辦~~到底應該選擇哪個版本來開發呢?好,今天我們就來聊聊這個話題.

1.Python2和Python3的歷史背景

Python語言是在20世紀90年代誕生的,算算到現在已經是25歲的大叔級的語言了(跟它同一個時代的還有一個鼎鼎大名的java是在1995發行的, 紅了幾十年).

但是Python真正成名比java晚了很多年,其實也主要是應用領域的時代變遷.(猜測為啥,對了大數據的出現)

Python2是Python裡面一個非常重要的版本,最早的版本是從2001的時候開始的,特別是從2006年開始py2.5的發布,python的功能逐漸強大起來,慢慢開始穩定下來,並且差不多1-2年左右遞增一個版本,在08年左右開始慢慢的火起來了.

而Python3最早是從2008開始發布,但是py3.0的版本非常不穩定,所以社區更新的很快,差不多幾個月就更新一次。所以一開始的時候並沒有很多人用,只到2014春暖花開的時候python3.4 deliver了才開始慢慢穩定下來.

下面我們看一個數據,這是Python社區聯和一些網站在2014做的一個調查,關於Python2/3,部分的結果如下:

1).97.51%用戶還在寫Python2的代碼

2).60%的用戶寫Python3的代碼

3).78.09%的用戶更多地寫Python2代碼

4).77.09%的用戶認可Python3

目前有一些Linux里的操作系統已經默認使用Python3:

1).Arch Linux (輕量級的Linux操作系統)

2).Ubuntu 16.04 (一個桌面應用為主的Linux操作系統)

3).Fedora(Redhat桌面版本的延續)

2.Python2和Python3的主要區別:

目前最新的數據是,Python有兩個版本:一個是2.7.12版,一個是3.5.12版.

那麼Python2運行的好好的,為啥突然要出個Python3呢,其實是為了解決Python2裡面一些歷史問題

第一個是字符串的問題:

Python 2 中文本和二進制數據是一個爛攤子,Python中的str 是代表二進制數據還是文本數據是有二義性,文字既能代表文本數據又能代表二進制數據這很麻煩,此類錯誤發生的時候,我們很難意識到。

第二個是對Unicode的支持

由於python是在1991年2月開源發布,這意味着它早於在1991年10月發布的第一版 Unicode 標準。在接下來幾年中,晚於 Unicode 標準出現的語言都選擇在支持 Unicode 編碼的基礎上實現自己的 str 類型,這讓 Python 2 處於尷尬的境地。

目前是一個python2/3共存的時代,這兩個版本是不兼容的。

python2現在只是做bug的修復,新硬件和操作系統兼容的相關維護工作。不會再有新的功能加入,python2只支持到2020年.

現在Python正在朝着3版本進化,在進化過程中,大量的針對2.x版本的代碼要修改後才能運行,所以目前有許多第三方庫還暫時無法在3.x上使用。

不過可以暢想一下,也許再過幾年情況就會好很多,畢竟全世界有很多優秀的程序員正在把一些庫從Py2往Py3上遷移.

3.選擇還是要根據自己的需求

若是企業的開發,要滿足工作的需求,尤其是依賴的軟件只能運行在Python2下,首選Python2.比如你的開發需要依賴大量的第三方的庫(因為學Python非常大的一個原因就是因為它有成千上萬的第三方包),像大量的數據分析,科學計算,還是選Python2吧.

如果你是自己學習,研究的話,願意擁抱變化,那麼建議學Python3,因為它是未來的方向.

結論:

編程其實主要是對編程思想的理解和經驗的積累,千萬不要因為糾結學Py2還是Py3而浪費大量時間。

Py2和Py3裡面的思想基本是相通的,招式是類似的.當你熟悉Python到一定的程序的時候,會Py2的人學Py3隻需要很短的時間。

所以不要再糾結細枝末節的語法差異,而耽誤了寶貴的學習時間。

好了Python2和Python3的恩怨情仇就講到這裡啦(它們還要相愛相殺一段時間),希望能給初學者一些啟發,若有什麼不懂的,也可以留言跟我探討交流.

最後說一下,原創不易,希望大家能夠給點支持,歡迎轉發,留言,也是對我的一點鼓勵和動力.

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/304260.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2025-01-01 11:05
下一篇 2025-01-01 11:05

相關推薦

  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • 蝴蝶優化算法Python版

    蝴蝶優化算法是一種基於仿生學的優化算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化算法Python版…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智能、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29

發表回復

登錄後才能評論