python2和python3的主要區別

做爲一個py3土著,並非很關心這個問題,可是總有人隔三差五問這個問題,仍是捋了一下。函數

這裏列出幾個主要區別:code

一、最多見的人盡皆知的print()函數

在py2中,print是一個語句,不帶括號,也能夠帶括號。
在py3中,print是一個函數,必須帶括號調用。utf-8

二、除法
# 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
三、unicode

在py2中有ascii str(),單獨的unicode(),可是沒有bytes類型。
在py3中有了unicode string(utf-8),以及bytes和bytearray類型。ci

四、xrange()

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

五、rawinput()和input()

在py3中統一了input()方法,輸出類型所有爲str。文檔

六、next()函數和.next()方法

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

七、異常處理的一個語法細節

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

這裏僅列出了一些簡單常見的,其它的請自行擼文檔..迭代器

相關文章
相關標籤/搜索