-
刪除了 long 型別,現在只有乙個整數 int,但它的行為類似於 long 的乙個版本
新增了位元組型別,對應版本的八位位元組字串,定義位元組文字的方法如下:
b = b'china'
type(b)
-
主要區別:區別一:Python:原始碼不規範,重複很多。
Python:原始碼簡潔、美觀、優雅。
區別2:python2:有乙個整數int,longpython3:只有乙個整數int
區別3: python2: range(3) -0,1,2]xrange(3)--iterator
python3:range(3)--range(0,3) 可迭代物件。
-
如果你是初學者,或者你以前接觸過其他程式語言,你可能不知道,當你開始學習Python時,你會遇到乙個頭疼的問題:版本問題!! 是學習python2還是python3?
這很令人困惑!
如果你搜尋一下,你會發現python3和python2是不相容的,而且相差相當大,學哪個版本呢? 下面我們一起來分析一下:
事實上,Python 是 Linux 上最常用的軟體之一,但目前大多數 Linux 版本仍然使用 Python2,而且在 Linux 上依賴 Python2 的程式更多,因此 Python3 需要幾年時間才能取代 Python2 並成為主流。
設計 python3 的初衷是沒有相容性包袱的改進 python,但我個人認為改進不夠劇烈,有些 bug 還沒有完全改進,還有很多疣錯過了改進的機會,所以由此導致的語法不相容並沒有原來想象的那麼多。
人們已經探索了幾年,慢慢走下來,大多數情況下,他們可以直接寫出2 3相容**,也有相容層等6個可用。
所以先學習python2或python3不是問題,或者是有問題的。
目前的情況是,大多數實際應用暫時不考慮python3,有時注重寫相容2 3**。 當以 python2 為主體編寫新內容時,請考慮將來遷移到 python3 的可能性。
不。 無論是 python 2 還是 python 3,都需要注意差異的另一面:幸運的是,這些差異很容易掌握,而且只有一種 unicode 編碼
導致很多人被打擾(並且是移植許多與 Web 相關的庫的主要障礙,重新支援你'',情況已大大改善)仍然學習 python2。
Python3,是用python2還是python3,視情況而定。
所以我建議:
1.如果需要在企業中使用python並學習python,則需要檢視企業應用的python版本。
3.如果你是大學生,那麼我建議你學習 Python 3,到你畢業的時候,Python 可能已經成為主流了。
-
如果你是初學者,建議學習。
並且已經共存了很長時間。 Python的兩個版本都在更新中,但目前它們變得越來越熟悉。 如今,大多數第三方純類圖書館都是基於的,而且大部分的書籍和資料也一應俱全,為您提供了豐富的學習資料。
這不是乙個重新發明輪子的時代,日常開發主要基於庫。 擁有豐富的類庫是強大語言的標誌,可以大大提高效率。
而且非常不同,可以說它們幾乎是不同的語言。 目前的應用並不那麼普遍。 出於相容性原因,許多較舊的程式都基於:
由於 Python 3 的顛覆性,即使是相對較新的應用程式也不會匆忙使用。 因此,您應該毫不猶豫地選擇。
官方提供了乙個將python2**轉換為python3**的小工具,叫做: 如果您安裝了 python,則必須具有此檔案。 如果你想體驗它,使用它是乙個不錯的選擇。
-
架構有很大的不同,這是以前公司python的發明者做的,現在換了另一家公司,還有乙個版本,從架構改了,由原來的公司維護,由現在的公司維護。
語法是有區別的。
預設編碼存在差異。
-
很多語言功能都改動了,想知道改動了多少,可以去菜鳥教程看看。
-
兩者的區別如下:
1.效能。 執行 Pystone 基準測試的速度要慢 30%。 Guido 認為,無論是在字串還是整形操作方面,都有很大的優化空間。
為了拿雀來爭奪非常好的優化結果。
效能比慢了15%,還有很大的提公升空間。
2.編碼。 預設情況下,原始碼檔案以 UTF-8 編碼,這使得以下 ** 有效:
中國 = 中國'
印刷品(中國)。
china3.語法。
1)刪除了<>並全部使用!=
2) 刪除並使用 repr() 代替
4)整數除法返回浮點數,要得到整數結果,請使用
5) 新增非本地語句。使用 noclocal x 直接分配外設(非全域性)變數。
6) 去掉 print 語句,新增 print() 函式,實現相同的功能。exec 語句也是如此,它已更改為 exec() 函式。
4.單詞是字元和位元組的字串。
1)現在字串只有一種型別的str,但它與Unicode的版本幾乎相同。
2) 對於位元組字串,請參閱“資料型別”的條目 2。
-
會有很多東西要總結,所以我帶著別人的答案:
這是知乎的回答:
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這是最核心的。
其他。 這似乎已經不重要了。
x(x+1)(x+2)(x+3) 8,求 x 值的範圍。
解: [x(x+3)][x+1)(x+2)]-8<0x +3x)(x +3x+2)-8=(x +3x) +2(x +3x)-8=(x +3x+4)(x +3x-2)<0 >>>More
y= (1+(x 2))+1+(1 (x 2))) 設 x=tana a (0, 2)。 >>>More