首頁  >  文章  >  後端開發  >  python3和2為什麼差別大嗎

python3和2為什麼差別大嗎

silencement
silencement原創
2019-06-24 15:26:182678瀏覽

python3和2為什麼差別大嗎

python2:print語句,語句就意味著可以直接跟要列印的東西而python3:print函數,函數就以為這必須要加上括號才能呼叫。下面透過本文來跟大家介紹python2與python3的簡單區別,有興趣的朋友跟隨小編一起看看吧

python2:print語句,語句就意味著可以直接跟要打印的東西,如果後面接的是一個元組對象,直接打印

python3:print函數,函數就以為這必須要加上括號才能調用,如果接元組對象,可以接收多個位置參數,並且可以打印

1、表達式

在Python 2 中為獲得計算表達式,你會鍵入:

X = raw_input ("enter some values)

但在Python 3 中,你會鍵入:

X = input ("enter some values")

因此,無論我們輸入什麼,值都會分配給2 和3 中的變數x。當在 Python 2 中輸入 2*6 時,結果將是 12,這是評估值。

但是,當在 Python 3 中執行相同的程式時,結果是字串值。在這種情況下,它看起來像字串格式的 2*6。

那麼,我們要如何獲得評估表達式呢?現在,我們必須使用一個名為 eval 的表達式或函數。當您在輸入之前編寫 eval 時,它會將表達式轉換為計算值。

3、range函數

Range 用於產生數字列表,通常用於迭代 for 迴圈。

在這裡你可以看到 X 等於 Range 10。當我們檢查變數 X 時,它傳回了列表類型。這意味著在 Python 2 中,Range 是列表的類型。當我寫 X 之後,得到一個物件列表,這裡是:0 1 2 3 4 5 6 7 8 9。

現在讓我們轉到 Python 3,當我們寫 X 等於 Range 5,這個值就被賦給變數 X;當我們檢查變數 X 的型別時,它會回傳一個 Range 物件本身。這意味著在 Python 3 中,Range 是一個範圍物件本身。

下面把python2與python3的差異簡單總結以下八點

一、python2  的程式碼混亂重複較多冗餘  因為當時來寫的人有C 語言的大牛和java的大牛等各種大神所以裡面都含有各種語言的影子python3  經過龜叔的一個暑假的整理終於在2018年11月統一了代碼  源碼規範清晰簡單優美。

二、python3  print("內容"),python2 ptint()   或print '內容'

三、python3 編碼:utf-8,python2編碼: 預設編碼:ascii     解決方法:  解決方法:在首行#    -*- encoding:utf-8-*-

   四、使用者互動input,python2:  raw-input(),python3:input () 

#五、pyth:on2x unicode 預設2個位元組表示一個字元  可以在LINUX 編譯安裝時做調整,python3x:unicode 預設是4個位元組表示一個字元

六、python2x  沒有nonlocal,python3x   加入的

七、python3x  新建的包裡面的init文件如果你刪除該文件  包照樣可以被調用,python2x  新建的包如果沒有init文件則包不能夠被調用直接報錯

八、python2 中的經典類別遍歷方法是以深度優先    新式類別是以廣度優先,python3 中不存在經典類別  所有的類別都是新式類別  所以都是廣度優先。

以上是python3和2為什麼差別大嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

相關文章

看更多