示例詳解Python3 or Python2 兩者之間的差異
每門編程語(yǔ)言在發(fā)布更新之后,主要版本之間都會(huì)發(fā)生很大的變化。 在本文中,Vinodh Kumar 通過示例解釋了 Python 2 和 Python 3 之間的一些重大差異,以幫助說(shuō)明語(yǔ)言的變化。
本教程主要介紹內(nèi)容:
- 表達(dá)式
- Print 選項(xiàng)
- Unequal 操作
- Range
- 自動(dòng)遷移
- 性能問題
- 主要的內(nèi)部事務(wù)更改
1、表達(dá)式
在 Python 2 中為獲得計(jì)算表達(dá)式,你會(huì)鍵入:
但在 Python 3 中,你會(huì)鍵入:
因此,無(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)您在輸入之前編寫 eval 時(shí),它會(huì)將表達(dá)式轉(zhuǎn)換為計(jì)算值。
具體表達(dá)式示例:
在 Python 2 中:
然后輸出:
在 Python 3 中:
然后輸出:
我們可以清楚地看到,他們之間的差異很小。
2、Print 選項(xiàng)
在 Python 2 中,print 是一個(gè)不需要括號(hào)的語(yǔ)句。 在 Python 3 中,print 是一個(gè)函數(shù),值需要用括號(hào)括起來(lái)。
Python 2
輸入:
會(huì)輸出:
Python 3
輸入:
會(huì)輸出:
3、Unequal 操作
當(dāng)我們?cè)?Python 2 中使用 Unequal 運(yùn)算符時(shí),我們需要使用大于 > 或小于 < 符號(hào)。 但是,在 Python 3 中,有一個(gè)通用運(yùn)算符。 感嘆號(hào) ! 和等號(hào) = 用于表示值是否相等。
Python 2 -<> 運(yùn)算符表示不相等
Python 3 -! 運(yùn)算符表示不相等
Python 2
輸入:
會(huì)輸出:
Python 3
輸入:
會(huì)輸出:
4、Range
Range 用于生成數(shù)字列表,通常用于迭代 for 循環(huán)。
在這里你可以看到 X 等于 Range 10。當(dāng)我們檢查變量 X 時(shí),它返回了列表類型。 這意味著在 Python 2 中,Range 是列表的類型。當(dāng)我寫 X 之后,得到一個(gè)對(duì)象列表,這里是: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í),它會(huì)返回一個(gè) Range 對(duì)象本身。 這意味著在 Python 3 中,Range 是一個(gè)范圍對(duì)象本身。
Python 2
輸入:
會(huì)輸出:
Python 3
輸入:
會(huì)輸出:
5、自動(dòng)遷移
那么,我們?nèi)绾巫詣?dòng)執(zhí)行腳本以將代碼從 Python 2 移動(dòng)到 3?
在這里,我們可以使用 Python 中的 Add 2 Numbers 進(jìn)行測(cè)試。
Python 2
輸入:
會(huì)輸出:
所以在這里我們看到它可以在命令行上通過 2to3 轉(zhuǎn)換為 Python 3 代碼。
Python 提供了自己的工具,名為 2to3.py,它運(yùn)行了一堆腳本來(lái)將你的 Python 2 代碼轉(zhuǎn)換為 3。雖然它并不完美,但它總體上做得非常出色。轉(zhuǎn)換任何代碼后,您可以手動(dòng)修復(fù)任何問題。
6、性能問題
此升級(jí)中已修復(fù)了大多數(shù)性能問題! 在比較兩個(gè)版本之間的基準(zhǔn)時(shí),差異幾乎可以忽略不計(jì)。
7、一些主要的內(nèi)部事務(wù)變更
Python 2
- print 功能括號(hào)選填。
- 使用 u 作為前綴字符串以生成 unicode 字符串。
- 整數(shù)除法總是返回整數(shù) -5/2=2。
- Raw_input() 讀取字符串。
- input() 評(píng)估讀取的數(shù)據(jù)。
- generator .next()。
Python 3:
- print 功能括號(hào)必填。
- 默認(rèn)情況下為字符串 unicode。
- 整數(shù)除法可能導(dǎo)致浮動(dòng) -5/2=2.5。
- Raw_input() 不可用。
- 輸入始終讀取字符串。
- Next (generator)。
- Py2 to py3 實(shí)用程序。
- Dictionary .keys() 和 .values() 返回的為視圖不是列表。
- 在非自然比較中不能再使用比較運(yùn)算符。
- 例如,None < None 將引發(fā) TypeError 而不是返回 false。
- 不推薦使用百分比(%)字符串格式化運(yùn)算符,使用 .format() 函數(shù)或連接。
總結(jié)
以上所述是小編給大家介紹的示例詳解Python3 or Python2 兩者之間的差異,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
Pandas如何對(duì)Categorical類型字段數(shù)據(jù)統(tǒng)計(jì)實(shí)戰(zhàn)案例
這篇文章主要介紹了Pandas如何對(duì)Categorical類型字段數(shù)據(jù)統(tǒng)計(jì)實(shí)戰(zhàn)案例,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-08-08利用Python實(shí)現(xiàn)問卷星自動(dòng)填寫的超詳細(xì)教程
問卷星已經(jīng)成為收集問卷的一個(gè)很重要的工具,有時(shí)可以用來(lái)報(bào)名參加活動(dòng),有時(shí)可以用來(lái)收集某些領(lǐng)域相關(guān)的情況,下面這篇文章主要給大家介紹了關(guān)于利用Python實(shí)現(xiàn)問卷星自動(dòng)填寫的超詳細(xì)教程,需要的朋友可以參考下2023-06-06python實(shí)現(xiàn)的jpg格式圖片修復(fù)代碼
這篇文章主要介紹了python實(shí)現(xiàn)的jpg格式圖片修復(fù)代碼,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下2015-04-04如何用Pytorch搭建一個(gè)房?jī)r(jià)預(yù)測(cè)模型
這篇文章主要介紹了用Pytorch搭建一個(gè)房?jī)r(jià)預(yù)測(cè)模型,在這里我將主要討論P(yáng)yTorch建模的相關(guān)方面,作為一點(diǎn)額外的內(nèi)容,我還將演示PyTorch中開發(fā)的模型的神經(jīng)元重要性,需要的朋友可以參考下2023-03-03Python matplotlib繪圖建立畫布及坐標(biāo)系
這篇文章主要介紹了Python matplotlib繪圖建立畫布及坐標(biāo)系,建立畫布 figsize,它用width和height來(lái)控制畫布的寬和高,下面來(lái)一起倆姐更多內(nèi)容吧2021-12-12Python之Anaconda啟動(dòng)過程中的異常錯(cuò)誤問題及解決
這篇文章主要介紹了Python之Anaconda啟動(dòng)過程中的異常錯(cuò)誤問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09python爬不同圖片分別保存在不同文件夾中的實(shí)現(xiàn)
這篇文章主要介紹了python爬不同圖片分別保存在不同文件夾中的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04