python2:print語句,語句就意味著可以直接跟要打印的東西而python3:print函數(shù),函數(shù)就以為這必須要加上括號才能調(diào)用。下面通過本文給大家介紹python2與python3的簡單區(qū)別,感興趣的朋友跟隨小編一起看看吧
python2:print語句,語句就意味著可以直接跟要打印的東西,如果后面接的是一個(gè)元組對象,直接打印
python3:print函數(shù),函數(shù)就以為這必須要加上括號才能調(diào)用,如果接元組對象,可以接收多個(gè)位置參數(shù),并可以打印
1、表達(dá)式
在 Python 2 中為獲得計(jì)算表達(dá)式,你會鍵入:
X = raw_input ("enter some values)
但在 Python 3 中,你會鍵入:
X = input ("enter some values")
因此,無論我們輸入什么,值都會分配給 2 和 3 中的變量 x。當(dāng)在 Python 2 中輸入 2*6 時(shí),結(jié)果將是 12,這是評估值。
但是,當(dāng)在 Python 3 中運(yùn)行相同的程序時(shí),結(jié)果是字符串值。 在這種情況下,它看起來像字符串格式的 2*6。
那么,我們?nèi)绾潍@得評估表達(dá)式呢? 現(xiàn)在,我們必須使用一個(gè)名為 eval 的表達(dá)式或函數(shù)。 當(dāng)您在輸入之前編寫 eval 時(shí),它會將表達(dá)式轉(zhuǎn)換為計(jì)算值。
3、range函數(shù)
Range 用于生成數(shù)字列表,通常用于迭代 for 循環(huán)。
在這里你可以看到 X 等于 Range 10。當(dāng)我們檢查變量 X 時(shí),它返回了列表類型。 這意味著在 Python 2 中,Range 是列表的類型。當(dāng)我寫 X 之后,得到一個(gè)對象列表,這里是:0 1 2 3 4 5 6 7 8 9。
現(xiàn)在讓我們轉(zhuǎn)到 Python 3,當(dāng)我們寫 X 等于 Range 5,這個(gè)值就被賦給變量 X;當(dāng)我們檢查變量 X 的類型時(shí),它會返回一個(gè) Range 對象本身。 這意味著在 Python 3 中,Range 是一個(gè)范圍對象本身。
下面把python2與python3的區(qū)別簡單總結(jié)以下八點(diǎn)
一、python2 的代碼混亂 重復(fù)較多 冗余 因?yàn)楫?dāng)時(shí)來編寫的人有C 語言的大牛 和 java的大牛等各種大神 所以里面都含有各種語言的影子 python3 經(jīng)過龜叔的一個(gè)暑假的整理 終于在2018年11月 統(tǒng)一了代碼 源碼規(guī)范 清晰 簡單優(yōu)美。
二、python3 print("內(nèi)容"),python2 ptint() 或者print '內(nèi)容'
三、python3 編碼:utf-8,python2編碼: 默認(rèn)編碼:ascii 解決辦法:在首行 # -*- encoding:utf-8-*-
四、用戶交互 input,python2: raw-input(),python3:input ()
五、python2x :unicode 默認(rèn)2個(gè)字節(jié)表示一個(gè)字符 可以在LINUX 編譯安裝時(shí)做調(diào)整,python3x:unicode 默認(rèn)是4個(gè)字節(jié)表示一個(gè)字符
六、python2x 沒有nonlocal,python3x 加入的
七 、python3x 新建的包里面的init文件如果你刪除該文件 包照樣可以被調(diào)用,python2x 新建的包如果沒有init文件 則包不能夠被調(diào)用 直接報(bào)錯(cuò)
八、python2 中的經(jīng)典類 遍歷方法是以深度優(yōu)先 新式類是以廣度優(yōu)先,python3 中不存在經(jīng)典類 所有的類都是新式類 所以都是廣度優(yōu)先。
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com