python2和python3的重要區別

2021-10-17 10:57:22 字數 842 閱讀 2223

python有兩個比較明顯的版本分支:python2.x和python3.x

下面主要是明確一些兩者之間的區別,方便在不同環境下自由使用python,同時也便於**走讀和移植等活動。

在python2.x中str()函式會將物件轉化為非unicode字串,然後可以用u「內容」再轉化為unicode字串

但是在python3.x中字元統一為unicode字串,並且由於python3.x原始碼使用unicode(「utf-8」), 所有使用中文比較方便,不需要加-* utf-8 *-或者u""

print語句沒有了print ***或者print (),取代的是print函式print(), 注意函式是沒有空格的。

/ 運算子,在整數相除時,python2.x中返回整數,浮點數相除,返回浮點數,但是python3.x中統一返回浮點數

//運算子,這個沒什麼區別,都是在運算之後執行floor操作

值得注意的是由於//運算子的變化,divmod(a, b) = (a//b, a%b)變化

python2.x except exc var

python3.x except exc as var 或者 except(exc1, exc2) as var

python3.x 移除了python2.x 中支援的

raw_input()函式,現在input()統一將輸入物件字串處理,然後返回字串。

map、filter

python2.x中是內建函式,返回結果是列表

python3.x中是類物件,返回可迭代物件,可以list()化

都可以手工使用next(list/iterable)進行迭代reduce內建函式直接被加入了functools模組。

python3和python2的區別

1.效能 py3.0執行 pystone benchmark的速度比py2.5慢30 guido認為py3.0有極大的優化空間,在字串和整形操作上可 以取得很好的優化結果。py3.1效能比py2.5慢15 還有很大的提公升空間。2.編碼 py3.x原始碼檔案預設使用utf 8編碼,這就使得以下 是合...

Python2和Python3的比較

python2 python3 print fish print fish unicode 是單獨的 unicode utf 8 字串 b b china byte 和 bytearrays type b type bytes s b.decode 轉化成 string 型別b1 s encode ...

python3和python2的區別

這個星期開始學習python了,因為看的書都是基於python2.x,而且我安裝的是python3.1,所以書上寫的地方好多都不適用於python3.1,特意在google上search了一下3.x和2.x的區別。特此在自己的空間中記錄一下,以備以後查詢方便,也可以分享給想學習python的frie...