Python2和Python3的區別
很多人都比較關心python2.x和python3.x的區別,這件事聊起來就要從Python的歷史說起來了,python是1989年開發出來了,到今天已經30多歲了。到現在有三個主要版本,幾十個小版本。下面我們就簡單介紹一下。
Python 和其他語言一樣也是有很多不同版本的,最早的 Python1 版本因為沒有多少人使用,也就不了了之了。
至於 Python2 使用的人就比較多了, Python2 是 2000 年 10 月份釋出的,最後一個版本是 Python2.7 到 2008 年結束,然後社群就不支援了。雖然結束但是之後的幾年裡還有一些開發人員繼續使用 Python2 ,即使到現在也有一些開發人員還在使用它。
現在我們新手學習的都是 Python3 ,但是 Python3 和 Python2 不相容,所以很多以前使用 Python2 開發的專案想改成 Python3 就比較費勁了。這裡我們來重點聊聊 python2.x 和 python3.x 的區別。
1. 程式碼規範不一樣
python2.x
:原始碼重複,不規範
python3.x
:整合原始碼,更清晰優美簡單
2. 編碼種類不一樣
python2.x
:預設編碼
ASCII
編碼
python3.x
:預設編碼
UTF-8
3.python3.x 捨棄了長整型
python2.x
:有長整型
long
python3.x
:
long
整數型別被廢棄,統一為
int
4. 列印函式的語法變化
python2.x
:
print
語句,
print
空格
+
列印內容
python3.x
:
print()
函式,
print(
列印內容
)
5. 互動函式不同
python2.x
:
raw_input() input()
raw_input()
函式的輸入內容型別為字串
input()
函式的輸入內容型別為輸入字元的型別
6. 鍵盤讀取輸入方面
Python3
只保留
input()
函式,且輸入資料全部作為字串處理;
Python2
還支援
row_input()
函式,
input()
函式在處理輸入數字的過程中,若輸入的數字加引號,則作為字串處理,否則當作數字處理。
7. 整除
Python3
中,整除操作均轉化成浮點型數值型別進行處理,
Python2
中整除操作執行四捨五入操作。
8.xrange() 函式
Python2
中有
range()
和
xrange()
函式,其中
xrange()
是按需返回列表大小,以節省記憶體佔用,
Python3
中將
xrange()
函式更名成
range()
函式,且
Python3.2
以及更高的版本中支援切片。
9.next() 和 .next() 函式
Python2
對兩個函式均支援,
Python3
只支援
next()
函式。
再給大家介紹一個 python2 向 python3 轉換的工具
2to3.py 指令碼將被通常安裝在 tools/scripts 資料夾。 它讀取 Python2.x 原始碼,並應用了一系列的修復將它轉變成有效的 Python3.x 程式碼 ; 如: 2to3 -w test.py 。
這裡面還有很多細節有所不同,這裡沒辦法和大家一一講解,但是要明白的一點就是,你學的是 python3 ,暫時沒有必要管的太多,當你學會 python3 之後,再去看 python2 一點壓力都沒有,等你工作後去修改公司老程式也不會有壓力。畢竟每種語言都在不斷的進化,有的語言一個月就要變化一次, python 也是一樣,不可能每次變化大家都要重新學習一遍。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70010583/viewspace-2845499/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- python3和python2中的filter區別PythonFilter
- Python2和Python3的10大區別Python
- 詳解python2 和 python3的區別Python
- Python2 和 Python3 的區別及相容技巧Python
- Python2與Python3的區別Python
- 除法運算子/在Python2和Python3中的區別Python
- Python2和Python3的區別?Python入門學習Python
- Python2和Python3有何區別?小白入門必看!Python
- urllib庫在python2和python3環境下的使用區別Python
- 學Python用哪個版本?Python3和Python2有何區別?Python
- python2和python3的不同Python
- python2和3的一些區別Python
- Python3中_和__的用途和區別Python
- Python2 中 input() 和 raw_input() 的區別Python
- 新手學習python2還是python3?詳細區別講解Python
- Python2與Python3有何區別?選擇哪個合適?Python
- 學Python用哪個版本?Python2與Python3有何區別?Python
- Python2和Python3中print的不同點Python
- python3 和 python2 input 功能的不同點Python
- windows下 相容Python2和Python3WindowsPython
- 新手學python哪個版本好?Python2與Python3有何區別?Python
- range方法在Python2和Python3中的不同Python
- 完美解決 Python2 和 python3 共存Python
- round四捨五入詳解--python2與python3版本間區別Python
- Python3和Python2 異常處理except的不同Python
- Mac安裝python2和python3,並配置MacPython
- Python3中列表方法append()和extend()的區別PythonAPP
- Python開發:Python2和Python3的共存和切換使用Python
- Mac OS下 Anaconda Python2 和 Python3 配置MacPython
- Anaconda快捷搭建Python2和Python3環境Python
- Python3 關鍵字nonlocal和global的用法與區別Python
- 讓你的python程式同時相容python2和python3Python
- 分別用python2和python3偽裝瀏覽器爬取網頁內容Python瀏覽器網頁
- Python2轉Python3比較Python
- Python2升級Python3(1):xrangePython
- ../和./和/的區別
- 和 的區別
- as 和 with的區別