python2和python3的主要區別

2022-05-15 13:57:38 字數 788 閱讀 7960

作為乙個py3土著,並不是很關心這個問題,但是總有人隔三差五問這個問題,還是捋了一下。

這裡列出幾個主要區別:

1、最常見的人盡皆知的print()函式

在py2中,print是乙個語句,不帶括號,也可以帶括號。

在py3中,print是乙個函式,必須帶括號呼叫。

2、除法

# python 2.7

3 / 2 = 1

3 // 2 = 1

3 / 2.0 = 1.5

3 // 2.0 = 1.0

# python 3

3 / 2 = 1.5

3 // 2 = 1

3 / 2.0 = 1.5

3 // 2.0 = 1.0

3、unicode

在py2中有ascii str(),單獨的unicode(),但是沒有bytes型別。

在py3中有了unicode string(utf-8),以及bytes和bytearray型別。

4、xrange()

在py3中range()代替了xrange(),xrange()被去掉。

5、rawinput()和input()

在py3中統一了input()方法,輸出型別全部為str。

6、next()函式和.next()方法

在py3中提供了內建函式next()來獲取迭代器元素,去掉了.next()方法。

7、異常處理的乙個語法細節

在py3中,as關鍵字不能省。

這裡僅列出了一些簡單常見的,其它的請自行擼文件..

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...