python2與python3的區(qū)別有哪些?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:域名注冊、雅安服務器托管、營銷軟件、網(wǎng)站建設、洛寧網(wǎng)站維護、網(wǎng)站推廣。python2:print語句,語句就意味著可以直接跟要打印的東西,如果后面接的是一個元組對象,直接打印
python3:print函數(shù),函數(shù)就以為這必須要加上括號才能調用,如果接元組對象,可以接收多個位置參數(shù),并可以打印
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。
那么,我們如何獲得評估表達式呢? 現(xiàn)在,我們必須使用一個名為 eval 的表達式或函數(shù)。 當您在輸入之前編寫 eval 時,它會將表達式轉換為計算值。
x= eval(input("enter some values")) = 12
具體表達式示例:
在 Python 2 中:
name = input("What is your name? ")print ("Hello, %s." %name)
然后輸出:
在 Python 3 中:
name = input("What is your name? ")print ("Hello, %s." %name)
然后輸出:
我們可以清楚地看到,他們之間的差異很小。
2、Print 選項
在 Python 2 中,print 是一個不需要括號的語句。 在 Python 3 中,print 是一個函數(shù),值需要用括號括起來。
Python 2
輸入:
print "hello world"
會輸出:
Python 3
輸入:
1 != 1.0print (False)
會輸出:
3、Unequal 操作
當我們在 Python 2 中使用 Unequal 運算符時,我們需要使用大于 > 或小于 < 符號。 但是,在 Python 3 中,有一個通用運算符。 感嘆號 ! 和等號 = 用于表示值是否相等。
Python 2 -<> 運算符表示不相等
Python 3 -! 運算符表示不相等
Python 2
輸入:
1 <> 1.0print "False"
會輸出:
Python 3
輸入:
1 != 1.0print (False)1 != 1.0print (False)
會輸出:
4、Range
Range 用于生成數(shù)字列表,通常用于迭代 for 循環(huán)。
在這里你可以看到 X 等于 Range 10。當我們檢查變量 X 時,它返回了列表類型。 這意味著在 Python 2 中,Range 是列表的類型。當我寫 X 之后,得到一個對象列表,這里是:0 1 2 3 4 5 6 7 8 9。
現(xiàn)在讓我們轉到 Python 3,當我們寫 X 等于 Range 5,這個值就被賦給變量 X;當我們檢查變量 X 的類型時,它會返回一個 Range 對象本身。 這意味著在 Python 3 中,Range 是一個范圍對象本身。
Python 2
輸入:
print range(0,10,1)
會輸出:
Python 3
輸入:
print(list(range(10)))
會輸出:
5、自動遷移
那么,我們如何自動執(zhí)行腳本以將代碼從 Python 2 移動到 3?
在這里,我們可以使用 Python 中的 Add 2 Numbers 進行測試。
Python 2
輸入:
n1 = 1n2 = 2add = float(n1) + float(n2)print 'sum of {0} and {1} is {2}'.format(n1, n2, add)
會輸出:
現(xiàn)在使用 2to3 的遷移,我們可以轉換上面的代碼。
輸入:
n1 = 1n2 = 2add = float(n1) + float(n2) print('sum of {0} and {1} is {2}'.format(n1, n2, add))
會輸出:
所以在這里我們看到它可以在命令行上通過 2to3 轉換為 Python 3 代碼。
Python 提供了自己的工具,名為 2to3.py,它運行了一堆腳本來將你的 Python 2 代碼轉換為 3。雖然它并不完美,但它總體上做得非常出色。轉換任何代碼后,您可以手動修復任何問題。
6、性能問題
此升級中已修復了大多數(shù)性能問題! 在比較兩個版本之間的基準時,差異幾乎可以忽略不計。
7、一些主要的內部事務變更
Python 2
?print 功能括號選填。
?使用 u 作為前綴字符串以生成 unicode 字符串。
?整數(shù)除法總是返回整數(shù) -5/2=2。
?Raw_input() 讀取字符串。
?input() 評估讀取的數(shù)據(jù)。
?generator .next()。
Python 3:
?print 功能括號必填。
?默認情況下為字符串 unicode。
?整數(shù)除法可能導致浮動 -5/2=2.5。
?Raw_input() 不可用。
?輸入始終讀取字符串。
?Next (generator)。
?Py2 to py3 實用程序。
?Dictionary .keys() 和 .values() 返回的為視圖不是列表。
?在非自然比較中不能再使用比較運算符。
例如,None < None 將引發(fā) TypeError 而不是返回 false。
?不推薦使用百分比(%)字符串格式化運算符,使用 .format() 函數(shù)或連接。
下面把python2與python3的區(qū)別簡單總結以下八點
一、python2 的代碼混亂 重復較多 冗余 因為當時來編寫的人有C 語言的大牛 和 java的大牛等各種大神 所以里面都含有各種語言的影子
python3 經(jīng)過龜叔的一個暑假的整理 終于在2018年11月 統(tǒng)一了代碼 源碼規(guī)范 清晰 簡單優(yōu)美。
二、python3 print("內容")
python2 ptint() 或者print '內容'
三、python3 編碼:utf-8
python2編碼: 默認編碼:ascii 解決辦法:在首行 # -*- encoding:utf-8-*-
四、用戶交互 input
python2: raw-input()
python3:input ()
五、python2x :unicode 默認2個字節(jié)表示一個字符 可以在LINUX 編譯安裝時做調整
python3x:unicode 默認是4個字節(jié)表示一個字符
六、python2x 沒有nonlocal
python3x 加入的
七 、python3x 新建的包里面的init文件如果你刪除該文件 包照樣可以被調用
python2x 新建的包如果沒有init文件 則包不能夠被調用 直接報錯
八、python2 中的經(jīng)典類 遍歷方法是以深度優(yōu)先 新式類是以廣度優(yōu)先
python3 中不存在經(jīng)典類 所有的類都是新式類 所以都是廣度優(yōu)先
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注創(chuàng)新互聯(lián)成都網(wǎng)站設計公司行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)成都網(wǎng)站設計公司的支持。
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、網(wǎng)站設計器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
分享題目:python2與python3的區(qū)別有哪些-創(chuàng)新互聯(lián)
網(wǎng)站地址:http://www.rwnh.cn/article16/csehgg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設、定制開發(fā)、企業(yè)網(wǎng)站制作、企業(yè)建站、小程序開發(fā)、網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)