一、爲什麼要了解Python3和Python2的區別
隨着時間進入2020年這個節點,Python
官方發表聲明不在維護Python2
版本的技術更新,成爲了Python
開發領域一個重要拐點。
目前,大部分公司的項目都是以前基於Python2
版本開發,許多項目延續到如今還在使用,至於原因,當然是項目直接遷移升級成Python3
成本過高。
於是出現了一種解決方案,這些繼續使用Python2
版本的公司,可以在技術社區通過付費購買維護服務的方式,讓專業技術團隊,針對性的維護Python2
版本開發的項目。
- 1.公司項目基於
Python2
需要維護 - 2.維護需要專業技術人員
專業技術團隊,大家想想,Python是近年越來越火,新生力量,絕大部分都是從Python3
起步開始學習,所以掌握的都是新知識,其實很少人知道具體區別,並且加以運用。
- 3.絕大新生力量僅會
Python3
綜上所述,一個開發人員,在掌握Python3
版本開發技術的前提下,熟練使用Python2
也逐漸稱爲非常重要的一部分
那麼,接下來我們來看看Python3
和Python2
版本有哪些區別吧。
二、版本區別使用
1、print
- python2中print爲輸出語句
- Python3中print是一個函數
Pyhton2
無需括號Python3
需要括號
2、range 與 xrange
- range()在
Python2
中會得到一個列表,xrange(1,3)得到一個生成器 - 在
Python3
中是生成器,沒有xrange
3、字符串
Python2
中存儲字符串,底層使用ascii編碼python3
存儲字符串,使用的是Unicode
4、異常處理
python2
中的異常處理語法
Python3
中的異常處理語法
5、打開文件
Python2
有打開方式
- f = file()
- f = open()
Python3
中打開方式
- f = open()
- with()
6、標準輸入
python2
有兩種標準輸入
-
info = raw_input(“提示消息:”),輸入數據全部轉換爲字符串
-
info = input(“提示消息:”),輸入什麼就輸出什麼數據類型,輸入字符串加引號
Python3
標準輸入
- info = input(“提示消息:”) 輸入的爲字符串類型
7、除法運算
Python2
中
- /表示的是整除,但是加上浮點數就是真實除法
Python3
中
- /表示的就是真實的除法,//表示的整除
8、自定義類型
Python2
- 保留了原始的類型繼承關係的經典類,同時也支持繼承 object 而衍生的新式 類,所以在多繼承操作過程中會出現兩種不同的數據檢索方式,讓中大型項目的開發變得撲 朔迷離。
Python3
- 廢棄了經典類,只保留了新式類,也就是現在我們通用的自定義類型,直接 或者間接繼承自 object。