2014年11月,Python2.7將在2020年中止的消息發佈,而且不會再發布2.8版本,建議用戶儘可能升級至3.4以,上版本,緣由是Python在最初發布時,在某些設計上存在一些缺陷,好比Unicode(統一碼、萬國碼、單一碼)標準晚於Python出現,因此一直以來對Unicode的支持並不徹底,而ASCII編碼支持的字符有限,好比對中文支持很差.函數
Python3相對於Python早期的版本是一個較大的升級,Python3在設計時並未考慮向下兼容因此不少早起版本的Python程序沒法在Python3上運行.爲了照顧早期版本,推出了過渡版本2.6--基本使用了Python 2.x的語法和庫,同時考慮了向Python 3.0版本的遷移,容許使用部分3.0版本的語法與函數.ui
2010年繼續推出了兼容版2.7,大量Python3的特性被反向遷移到了Python2.7,2.7相對2.6進步不少,同時擁有大量3中的特性和庫,而且照顧了原有的Python開發人羣.編碼
Python2.7是Python2系列的最後一個版本,已經中止開發,再也不增長新功能,2020年將終止支持,全部的最新的標準庫的更新改進,只會在3.x的版本里出現.Guido決定清理Python2.x ,而且再也不兼容舊版本.最大的一個改變就是使用Unicode做爲默認編碼,Pyhton2.x中直接寫中文會報錯,Python3中能夠直接寫中文了.spa
Python3相對於Python2更規範統一,而且還在持續改進.設計
Python3與Python2的對比差異(不斷完善補充中..):code
Python2 | Python3 |
源碼重複,不規範 | 整合源碼,更清晰簡單優美 |
默認的編碼是ascii, 解決方式:# -*- encoding:utf-8 -*- |
默認的編碼是utf-8 |
long int print 'abc' print('abc') |
無long int print('abc') |
raw_input() input() 只能輸入數字類型 |
input |
不等於有兩種寫法 != 和 <> | 去掉了<>, 只有!=一種寫法 |