作為乙個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...