當前位置:首頁 » 編程語言 » python2和3區別

python2和3區別

發布時間: 2024-05-14 03:23:17

A. python2和python有什麼區別

很多初學者剛開始學python的時候,一定都遇到過這個問題,python的世界有2個版本,python2 和 python3 ,而且有些語法還不兼容.怎麼辦~~到底應該選擇哪個版本來開發呢?好,今天我們就來聊聊這個話題.

1.Python2和Python3的歷史背景
Python語言是在20世紀90年代誕生的,算算到現在已經是25歲的大叔級的語言了(跟它同一個時代的還有一個鼎鼎大名的java是在1995發行的, 紅了幾十年).
但是Python真正成名比java晚了很多年,其實也主要是應用領域的時代變遷.(猜測為啥,對了大數據的出現)

Python2是Python裡面一個非常重要的版本,最早的版本是從2001的時候開始的,特別是從2006年開始py2.5的發布,python的功能逐漸強大起來,慢慢開始穩定下來,並且差不多1-2年左右遞增一個版本,在08年左右開始慢慢的火起來了.

而Python3最早是從2008開始發布,但是py3.0的版本非常不穩定,所以社區更新的很快,差不多幾個月就更新一次。所以一開始的時候並沒有很多人用,只到2014春暖花開的時候python3.4 deliver了才開始慢慢穩定下來.

下面我們看一個數據,這是Python社區聯和一些網站在2014做的一個調查,關於Python2/3,部分的結果如下:
1).97.51%用戶還在寫Python2的代碼
2).60%的用戶寫Python3的代碼
3).78.09%的用戶更多地寫Python2代碼
4).77.09%的用戶認可Python3

目前有一些Linux里的操作系統已經默認使用Python3:
1).Arch Linux (輕量級的Linux操作系統)
2).Ubuntu 16.04 (一個桌面應用為主的Linux操作系統)
3).Fedora(Redhat桌面版本的延續)

2.Python2和Python3的主要區別:
目前最新的數據是,Python有兩個版本:一個是2.7.12版,一個是3.5.12版.

那麼Python2運行的好好的,為啥突然要出個Python3呢,其實是為了解決Python2裡面一些歷史問題
第一個是字元串的問題:
Python 2 中文本和二進制數據是一個爛攤子,Python中的str 是代表二進制數據還是文本數據是有二義性,文字既能代表文本數據又能代表二進制數據這很麻煩,此類錯誤發生的時候,我們很難意識到。

第二個是對Unicode的支持
由於python是在1991年2月開源發布,這意味著它早於在1991年10月發布的第一版 Unicode 標准。在接下來幾年中,晚於 Unicode 標准出現的語言都選擇在支持 Unicode 編碼的基礎上實現自己的 str 類型,這讓 Python 2 處於尷尬的境地。
目前是一個python2/3共存的時代,這兩個版本是不兼容的。
python2現在只是做bug的修復,新硬體和操作系統兼容的相關維護工作。不會再有新的功能加入,python2隻支持到2020年.
現在Python正在朝著3版本進化,在進化過程中,大量的針對2.x版本的代碼要修改後才能運行,所以目前有許多第三方庫還暫時無法在3.x上使用。

不過可以暢想一下,也許再過幾年情況就會好很多,畢竟全世界有很多優秀的程序員正在把一些庫從Py2往Py3上遷移.

3.選擇還是要根據自己的需求
若是企業的開發,要滿足工作的需求,尤其是依賴的軟體只能運行在Python2下,首選Python2.比如你的開發需要依賴大量的第三方的庫(因為學Python非常大的一個原因就是因為它有成千上萬的第三方包),像大量的數據分析,科學計算,還是選Python2吧.

如果你是自己學習,研究的話,願意擁抱變化,那麼建議學Python3,因為它是未來的方向.

結論:
編程其實主要是對編程思想的理解和經驗的積累,千萬不要因為糾結學Py2還是Py3而浪費大量時間。

Py2和Py3裡面的思想基本是相通的,招式是類似的.當你熟悉Python到一定的程序的時候,會Py2的人學Py3隻需要很短的時間。

所以不要再糾結細枝末節的語法差異,而耽誤了寶貴的學習時間。

好了Python2和Python3的恩怨情仇就講到這里啦(它們還要相愛相殺一段時間),希望能給初學者一些啟發,若有什麼不懂的,也可以留言跟我探討交流.

最後說一下,原創不易,希望大家能夠給點支持,歡迎轉發,留言,也是對我的一點鼓勵和動力.

B. python2.0與python3.0的區別。

Python2.0與Python3.0主要區別在於以下幾個方面:

1、輸出

Python2.0使用print關鍵字進行輸出,比如:print 「Hello」;

Python3.0使用print()函數,比如print("Hello")。

2、輸入方面

Python2.0使用raw_input()函數,比如:name=raw_input("請輸入你的名字:");

Python3.0使用input()函數,比如:name=input("請輸入你的名字:")。

3、字元串的編碼格式

Python2.0默認採用ASCII編碼對輸入的字元串進行編碼;

而Python3.0默認採用Unicode編碼對字元串進行編碼。

4、格式化字元串的方式

Python2.0用%佔位符進行標准化格式輸出字元串,比如:「Hello,%s" % ("World");

Python3.0用format()函數,比如:」Hello,{}「.format("World")。

5、源文件的編碼格式

Python2.0默認採用ASCII,因此使用中文時要在源文件開頭加上一行注釋:# -- coding: utf-8 --;

Python3.0默認採用utf-8。

熱點內容
截取字元串java 發布:2024-11-27 18:34:09 瀏覽:331
安卓導航怎麼會黑屏 發布:2024-11-27 18:17:19 瀏覽:394
編譯後代碼放在單片機哪個位置 發布:2024-11-27 18:12:01 瀏覽:458
linux紅帽安裝 發布:2024-11-27 18:01:53 瀏覽:827
手機編程藍牙 發布:2024-11-27 17:55:39 瀏覽:385
創維雲電視怎麼升級安卓系統 發布:2024-11-27 17:55:31 瀏覽:354
theisle游戲伺服器搭建 發布:2024-11-27 17:47:43 瀏覽:210
xshell解壓 發布:2024-11-27 17:35:14 瀏覽:359
ftp伺服器管理方法 發布:2024-11-27 17:24:48 瀏覽:975
微信視頻為什麼要緩存 發布:2024-11-27 17:18:18 瀏覽:250