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中文網其他相關文章!