溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

python3和2的區(qū)別大不大

發(fā)布時(shí)間:2020-09-09 14:08:42 來(lái)源:億速云 閱讀:181 作者:小新 欄目:編程語(yǔ)言

這篇文章主要介紹了python3和2的區(qū)別大不大,具有一定借鑒價(jià)值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

python2:print語(yǔ)句,語(yǔ)句就意味著可以直接跟要打印的東西而python3:print函數(shù),函數(shù)就以為這必須要加上括號(hào)才能調(diào)用。下面通過(guò)本文給大家介紹python2與python3的簡(jiǎn)單區(qū)別,感興趣的朋友跟隨小編一起看看吧

python2:print語(yǔ)句,語(yǔ)句就意味著可以直接跟要打印的東西,如果后面接的是一個(gè)元組對(duì)象,直接打印

python3:print函數(shù),函數(shù)就以為這必須要加上括號(hào)才能調(diào)用,如果接元組對(duì)象,可以接收多個(gè)位置參數(shù),并可以打印

1、表達(dá)式

在 Python 2 中為獲得計(jì)算表達(dá)式,你會(huì)鍵入:

X = raw_input ("enter some values)

但在 Python 3 中,你會(huì)鍵入:

X = input ("enter some values")

因此,無(wú)論我們輸入什么,值都會(huì)分配給 2 和 3 中的變量 x。當(dāng)在 Python 2 中輸入 2*6 時(shí),結(jié)果將是 12,這是評(píng)估值。

但是,當(dāng)在 Python 3 中運(yùn)行相同的程序時(shí),結(jié)果是字符串值。 在這種情況下,它看起來(lái)像字符串格式的 2*6。

那么,我們?nèi)绾潍@得評(píng)估表達(dá)式呢? 現(xiàn)在,我們必須使用一個(gè)名為 eval 的表達(dá)式或函數(shù)。 當(dāng)您在輸入之前編寫(xiě) eval 時(shí),它會(huì)將表達(dá)式轉(zhuǎn)換為計(jì)算值。

3、range函數(shù)

Range 用于生成數(shù)字列表,通常用于迭代 for 循環(huán)。

在這里你可以看到 X 等于 Range 10。當(dāng)我們檢查變量 X 時(shí),它返回了列表類(lèi)型。 這意味著在 Python 2 中,Range 是列表的類(lèi)型。當(dāng)我寫(xiě) X 之后,得到一個(gè)對(duì)象列表,這里是:0 1 2 3 4 5 6 7 8 9。

現(xiàn)在讓我們轉(zhuǎn)到 Python 3,當(dāng)我們寫(xiě) X 等于 Range 5,這個(gè)值就被賦給變量 X;當(dāng)我們檢查變量 X 的類(lèi)型時(shí),它會(huì)返回一個(gè) Range 對(duì)象本身。 這意味著在 Python 3 中,Range 是一個(gè)范圍對(duì)象本身。

下面把python2與python3的區(qū)別簡(jiǎn)單總結(jié)以下八點(diǎn)

一、python2  的代碼混亂 重復(fù)較多 冗余  因?yàn)楫?dāng)時(shí)來(lái)編寫(xiě)的人有C 語(yǔ)言的大牛 和 java的大牛等各種大神 所以里面都含有各種語(yǔ)言的影子 python3  經(jīng)過(guò)龜叔的一個(gè)暑假的整理 終于在2018年11月 統(tǒng)一了代碼  源碼規(guī)范 清晰 簡(jiǎn)單優(yōu)美。

二、python3  print("內(nèi)容"),python2 ptint()   或者print '內(nèi)容'

三、python3 編碼:utf-8,python2編碼: 默認(rèn)編碼:ascii     解決辦法:在首行 #    -*- encoding:utf-8-*-

四、用戶(hù)交互 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  沒(méi)有nonlocal,python3x   加入的

七 、python3x  新建的包里面的init文件如果你刪除該文件  包照樣可以被調(diào)用,python2x  新建的包如果沒(méi)有init文件 則包不能夠被調(diào)用 直接報(bào)錯(cuò)

八、python2 中的經(jīng)典類(lèi) 遍歷方法是以深度優(yōu)先    新式類(lèi)是以廣度優(yōu)先,python3 中不存在經(jīng)典類(lèi)  所有的類(lèi)都是新式類(lèi)  所以都是廣度優(yōu)先。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享python3和2的區(qū)別大不大內(nèi)容對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,遇到問(wèn)題就找億速云,詳細(xì)的解決方法等著你來(lái)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI