-
在基礎設計方面,python3 的目的是在沒有相容性包袱的情況下改進 python,與 python2 相比,python3 有很多改進,更容易理解,也更合理。
而且從應用的角度來看,pypy、web框架、科學計算包、scrapy等常用模組都支援python3,但是一些較舊的庫已經不再維護了,所以python3就不支援了
當我們日常使用的時候,我們可以直接寫出python2 3相容**,相對來說,python2對老庫的支援比較多,至少在學術界還是比較流行的。
相對來說,Python 3 對 Python 學習更有利,也是未來的流行趨勢,建議直接學習 Python3,以後會應用得更廣泛。 不管是python2還是python3先學,差別不是很大,主要是靠自己,只要你願意學習,就可以選擇。
-
> 1.print 不再是乙個語句,而是乙個功能,就像 print 一樣'abc'現在是列印('abc')
但是,您可以使用“從將來匯入列印”功能來實現相同的功能。
2.在 Python 3 中,沒有舊式類,只有新式類,這意味著你不需要顯式地子類化物件,比如 foobar(object): pass
但無論如何還是新增它更好。 主要區別在於 old-style 是類型別,而 new-style 是型別型別。
3.原來 1 2(兩個整數除以)原來是 0,現在是。
對於上述所有操作,都可以使用 From Future Import Division 修改 Python,同時注意它取代了之前的操作。
4.新的字串格式設定方法將 % 替換為 %
錯誤,此方法已經在 str 和 unicode 中,因為 ,而 python3 仍然支援 % 運算子。
6.xrange 重新命名為 range
此外,還更改了一組內建函式和方法,這些函式和方法返回迭代器物件而不是列表或元組,例如過濾器、對映等。
7. != 替換<
Python2 也很少使用<所以這不是乙個很大的變化。
8.long 重新命名為 int
不完全是,Python3 完全放棄了 long+int two-inter 實現方式,將其統一為 int,支援高精度整數運算。
9.except exception,e 變為 except (exception) 作為 e
只有 及以下版本不支援此語法。 是的。 不是什麼新鮮事。
10.exec 變成乙個函式。
類似於 print() 的東西,它前面有乙個語句。
簡單地新增。
最主要的是圖書館發生了變化,組織結構也發生了一些變化。 但功能沒有改變。 urlparse - 這樣的更改。
核心改動它沒有說,支援位元組和原生unicode字串,刪除unicode物件,str為原生unicode字串,位元組代替之前的str這是最核心的。
其他。 這似乎已經不重要了。
-
簡單來說,2是舊的,3是新的,3是2的公升級版,3是完全高於2的,2是時代的眼淚,3是現在和未來,2是逐漸淘汰的3,使用它的人越來越多。
以前兩個版本並存只是因為很多軟體包更新了,跟不上,但現在只要還有活人維護軟體包,基本上就和3相容了,但是新軟體包卻越來越不相容2了。 使用 2 的意義基本沒了,留下乙個 2 供日常使用是一件大事。
擴充套件答案:Python,是荷蘭人 Guido van Rossum 於 1989 年發明的一種物件導向的解釋型計算機程式語言,並於 1991 年首次公開發布。
Python 是純粹的自由軟體,原始碼和直譯器 cPython 根據 GPL(GNU 通用公共許可證)獲得許可。 Python 語法簡潔明瞭,其特點之一是強制使用空格作為語句縮排。
Python 具有豐富而強大的庫。 通常被昵稱為膠水語言,它可以很容易地將其他語言(尤其是C++)製作的各種模組鏈結在一起。
乙個常見的用例是使用 Python 快速生成乙個程式的原型(有時甚至是程式的最終介面),然後用更合適的語言重寫有特殊要求的部分 [3],比如 3D 遊戲中的圖形渲染模組,對效能要求特別高, 可以用 C C++ 重寫,然後封裝到 Python 可以呼叫的擴充套件庫中。
需要注意的是,在使用擴充套件庫時,可能需要考慮平台,有些擴充套件庫可能不提供跨平台實現。
7月20日,IEEE發布了2017年程式語言排名:Python位居榜首。
-
如果不用擔心學習,學習python3就好了,它有點類似於xp和win7,有區別,但不代表你可以用xp就不用win7
-
列印功能的使用方式不同。
使用者輸入的分析方式存在一些差異。
xrange 模組(python3 中沒有 xrange 模組,替換為 range 模組)。
字串格式、位元組資料型別(強調後加)存在差異 - 嘗試語法更改除外。
開啟檔案語法更改。
等等,還有一些小細節,這裡就不贅述了。
如果想知道版本 2 和版本 3 的區別,以及每個版本的更新內容,可以檢視黑馬程式設計師社群,裡面有相關文獻。 並且有乙個學習路線圖,每個模組都包含乙個相關的開放課程,包括原始碼和筆記。
-
以下是它們之間的區別:
1. Python2 預設使用 ASCII 編碼,因此其編碼預設不支援中文。
Python3 預設使用 UTF-8 編碼,因此預設支援中文。
2. python2 不支援中文編碼,python2 的變數命名只能用英文。
python3 支援中文,python3 的變數命名可以用中文使用。
-
Python 3 代表了 Python 語言演變的產物,Python 在設計時並沒有考慮到向後相容性,以免引入太多冗餘。 因此,當我們使用 python 進行自動化學習時,最好清楚這些變化。
Python 的變化主要集中在以下幾個方面:
更改 1:print 語句消失了,取而代之的是 print() 函式。
變化 2:Python 3 使用文字和二進位資料的概念,而不是 Unicode 字串和 8 位字元。
串。 所有文字均採用 Unicode 編碼。 預設情況下,原始碼檔案以 UTF-8 編碼。
變化3:在Python中,沒有兩種寫法!= 和 >
刪除了 Python,只有! =一種寫法,沒關係,我從來沒用過。
更改 4:在列表派生過程中不再支援 [n for n in a,b] 語法,並更改為 [n for n in (a,b)] 或 [n for n in [a,b]]。
變化 5:在 Python2 中,file 物件有乙個 xreadlines() 方法,該方法返回乙個迭代器,該迭代器一次從檔案中讀取一行。 這在 for 迴圈中特別有用。
Python3,xreadlines() 方法。
-
一些常見的例子對應:
1.字元編碼支援已統一。 我故意把它拿出來,放在第乙個。
2.新增了新語法。 print exec 等都變成了函式、格式化字串變數、型別註解、新增非本地變數、yield from、async await、yield for keywords and annotations、context、traceback、qualname 等 dunder 方法。
3.更改了一些語法。 Metaclass、Raise、Map、Filter 和 Dict 的 Items 鍵值方法返回迭代物件而不是列表、描述符協議、儲存類屬性定義的順序以及儲存關鍵字引數的順序。
4.刪除了一些語法。 CMP,<>就是這樣! =)、xrange(實際範圍),不再有經典類。
5.新增一些新模組。 等。
6.某些模組已被修改。 最主要的是向模組新增函式,類方法,例如 or 引數。
7.該模組已重新命名。 將一些相關模組放入同乙個包中(例如將其放入 http、urllib、urllib2、urlparse、robotparse 放入 urllib),例如 socketserver 到 socketserver、queue 到 queue 等。
8.刪除了某些模組或功能。 Gopherlib、MD5 等。
刪除內容有兩個主要原因:1任何人都不再使用的過時技術產品; 2.
新的替代方案已經出現,後者被證明意義不大。 從理論上講,對開發人員的影響很小。
9.優化。 重新實現的DICT可以減少20%-25%的記憶體使用量; 提高泡菜序列化和反序列化效率; 改用 C 語言實現; 通過優化 glob 模組中的 glob() 和 iglob(),它們現在的速度提高了大約 3-6 倍,等等。
這些都是大執行和大執行的好訊息,開發人員不需要感知它,並默默地讓結果更好。
10.其他。 對構建過程的修改、C 的 API、安全性等,通常不需要開發人員關注。
最後,重申我經常說的一句話:
Python 2 和 3 的思想基本上是通用的,只有少數語法差異甚至不相容。 當您熟悉 python 時。
在一定程度上,即使你只知道python 2,你也可以在很短的時間內寫出python 3。
-
刪除了 long 型別,現在只有乙個整數 int,但它的行為類似於 long 的乙個版本
新增了位元組型別,對應版本的八位位元組字串,定義位元組文字的方法如下:
b = b'china'
type(b)
其實程式設計中的很多東西都是一樣的,如果C學得好,Python就不會覺得難,反之亦然。 除了語言的語法,重要的是邏輯。 無論如何,我以後肯定會訓練。 >>>More
關於r的介紹。
R 的主要優點是它有乙個大型社群,通過郵件列表、使用者貢獻的文件和非常活躍的堆疊溢位組提供支援。 還有 CRAN Image,這是乙個包含 R 包的知識庫,使用者可以輕鬆建立這些包。 這些包有R中的功能和資料,到處都是R**的備份檔案,一模一樣,使用者可以選擇離你最近的映象來訪問最新的技術和特性,而不必從頭開始開發。 >>>More
兩者的區別在於:
天機2適合拉球,拉球時弧度更低更長,可直接到達對方球檯的端線; 當用正手直接擊打對手的弧線時,它也具有令人滿意的穩定性。 >>>More