Python 2和Python 3有哪些主要區別

時間 2021-08-11 17:16:00

1樓:匿名使用者

1. print不再是語句,而是函式,比如原來是 print 'abc' 現在是 print('abc')但是 python2.6+ 可以使用 from __future__ import print_function 來實現相同功能》 2.

在python 3中,沒有舊式類,只有新式類,也就是說不用再像這樣 class foobar(object): pass 顯式地子類化object但是最好還是加上. 主要區別在於 old-style 是 classtype 型別而 new-style 是 type型別》 3.

原來1/2(兩個整數相除)結果是0,現在是0.5了python 2.2+ 以上都可以使用 from __future__ import division 實現改特性, 同時注意 // 取代了之前的 / 運算》 4.

新的字串格式化方法format取代%錯誤, 從 python2.6+ 開始已經在str和unicode中有該方法, 同時 python3依然支援 % 算符》 6. xrange重新命名為range同時更改的還有一系列內建函式及方法, 都返回迭代器物件, 而不是列表或者 元組, 比如 filter, map, dict.

items 等》 7. !=取代 < > python2 也很少有人用 < > 所以不算什麼修改》 8.

long重新命名為int不完全對, python3 徹底廢棄了 long+int 雙整數實現的方法, 統一為 int , 支援高精度整數運算.> 9. except exception, e變成except (exception) as e只有 python2.

5 及以下版本不支援該語法. python2.6 是支援的.

不算新東西》 10. exec變成函式類似 print() 的變化, 之前是語句.簡單補充下* 主要是類庫的變化, 組織結構變了些.

但功能沒變. urlparse - > urllib.parse 這樣的變化* 最核心的變化它沒有說, 對 bytes 和 原生 unicode 字串的支援, 刪除了 unicode 物件, str 為原生 unicode 字串, bytes 替代了之前的 str 這個是最核心的.

2樓:

郡齋雨中與諸文士燕集(韋應物)

python 2 和 python 3 有哪些主要區別

3樓:

> 1. print不再是語句,而是函式,比如原來是 print 'abc' 現在是 print('abc')

但是 python2.6+ 可以使用 from __future__ import print_function 來實現相同功能

> 2. 在python 3中,沒有舊式類,只有新式類,也就是說不用再像這樣 class foobar(object): pass 顯式地子類化object

但是最好還是加上. 主要區別在於 old-style 是 classtype 型別而 new-style 是 type型別

> 3. 原來1/2(兩個整數相除)結果是0,現在是0.5了

python 2.2+ 以上都可以使用 from __future__ import division 實現改特性, 同時注意 // 取代了之前的 / 運算

> 4. 新的字串格式化方法format取代%

錯誤, 從 python2.6+ 開始已經在str和unicode中有該方法, 同時 python3依然支援 % 算符

> 6. xrange重新命名為range

同時更改的還有一系列內建函式及方法, 都返回迭代器物件, 而不是列表或者 元組, 比如 filter, map, dict.items 等

> 7. !=取代 < >

python2 也很少有人用 < > 所以不算什麼修改

> 8. long重新命名為int

不完全對, python3 徹底廢棄了 long+int 雙整數實現的方法, 統一為 int , 支援高精度整數運算.

> 9. except exception, e變成except (exception) as e

只有 python2.5 及以下版本不支援該語法. python2.6 是支援的. 不算新東西

> 10. exec變成函式

類似 print() 的變化, 之前是語句.

簡單補充下

* 主要是類庫的變化, 組織結構變了些. 但功能沒變. urlparse - > urllib.parse 這樣的變化

* 最核心的變化它沒有說, 對 bytes 和 原生 unicode 字串的支援, 刪除了 unicode 物件, str 為原生 unicode 字串, bytes 替代了之前的 str 這個是最核心的.

* 其它... 貌似不怎麼重要了.

python 2 和 python 3 有哪些主要區別?

4樓:愛**的小林

因為他的設計者在開發他的時候就有乙個指導的思想就是對於乙個特定的問題有一種最好的方法來解決就好了,而相對於那些主流程式語言他有更好的可讀性,因為他上手是比較容易的,它裡面有各種模板然後他也有很多第三方的模板,免去了很多其他不必要的工作,你可以更快地寫出你想要寫的東西,配置開發環境也不算複雜。

所以我覺得不管你學2,還是學3都沒有太大的區別,會python的人一般兩個都會,就如果你學了三然後你稍微花點功夫去了解另乙個的語法,那麼二三兩門語言你也會了。

最後你學習2還是3,要結合你自己自身的需求來定如果你的參考書是2那麼你就是去學2.如果你的參考書3那麼你就學習3,如果你是自己搞研究學習那麼毫無疑問是3,因為現在主流的庫基本上都支援上來了,並且也有很多的庫是直接宣稱了2的版本呢是不在維護了。

如果是在企業做開發,還是以企業的主流平台作為參照。

如果你兩個都想學的話我建議你先學二,很多人說去學二以後再去學三就很簡單了

python 2 和 python 3 有哪些主要區別

5樓:深圳中宇視通科技****

print不再是語句,而是函式,比如原來是 print 'abc' 現在是 print('abc')但是 python2.6+ 可以使用 from __future__ import print_function 來實現相同功能》; 在python 3中,沒有舊式類,只有新式類,也就是說不用再像這樣 class foobar(objec...

python 2 和 python 3 都有什麼區別

6樓:育知同創教育

> 1. print不再是語句,而是函式,比如原來是 print 'abc' 現在是636f707962616964757a686964616f31333363383433 print('abc')

但是 python2.6+ 可以使用 from __future__ import print_function 來實現相同功能

> 2. 在python 3中,沒有舊式類,只有新式類,也就是說不用再像這樣 class foobar(object): pass 顯式地子類化object

但是最好還是加上. 主要區別在於 old-style 是 classtype 型別而 new-style 是 type型別

> 3. 原來1/2(兩個整數相除)結果是0,現在是0.5了

python 2.2+ 以上都可以使用 from __future__ import division 實現改特性, 同時注意 // 取代了之前的 / 運算

> 4. 新的字串格式化方法format取代%

錯誤, 從 python2.6+ 開始已經在str和unicode中有該方法, 同時 python3依然支援 % 算符

> 6. xrange重新命名為range

同時更改的還有一系列內建函式及方法, 都返回迭代器物件, 而不是列表或者 元組, 比如 filter, map, dict.items 等

> 7. !=取代 < >

python2 也很少有人用 < > 所以不算什麼修改

> 8. long重新命名為int

不完全對, python3 徹底廢棄了 long+int 雙整數實現的方法, 統一為 int , 支援高精度整數運算.

> 9. except exception, e變成except (exception) as e

只有 python2.5 及以下版本不支援該語法. python2.6 是支援的. 不算新東西

> 10. exec變成函式

類似 print() 的變化, 之前是語句.

python 2 和 python 3 有哪些主要區別

7樓:匿名使用者

print不再是語句,而是函式,比如原來是print'abc'現在是print('abc')但是python2.6+可以使用from__future__importprint_function來實現相同功能》;在python3中,沒有舊式類,只有新式類,也就是說不用再像這樣classfoobar(object):pass顯式地子類化object但是最好還是加上。

主要區別在於old-style是classtype型別而new-style是type型別;原來1/2(兩個整數相除)結果是0,現在是0.5了python2.2+以上都可以使用from__future__importdivision實現改特性,同時注意//取代了之前的/運算;

python2和python3的區別

8樓:敲黑板劃重點

python2和python3分別是python的兩個版本,python3作為乙個公升級版,許多針對早期python版本設計的程式都無法在python

3.0上正常執行的。區別:

1、python2 既可以使用帶小括號的方式,也可以使用乙個空格來分隔列印內容,比如 print 'hi'

python3 使用 print 必須要以小括號包括列印內容,比如 print('hi')

2、python2 range(1,10)返回列表,python3中返回迭代器,節約記憶體

3、python2中使用ascii編碼,python3中使用utf-8編碼

4、python2中unicode表示字串序列,str表示位元組序列

python3中str表示字串序列,byte表示位元組序列

5、python2中為正常顯示中文,引入coding宣告,python3中不需要

6、python2中是raw_input()函式,python3中是input()函式

極光爬蟲,資料採集服務服務提供商,為您提供更快,更可靠的服務。

Python 2和Python 3有哪些主要區別

1.print不再是語句,而是函式,比如原來是 print abc 現在是 print abc 但是 python2.6 可以使用 from future import print function 來實現相同功能 2.在python 3中,沒有舊式類,只有新式類,也就是說不用再像這樣 class ...

詳解python2和python3的區別

1.效能 py3.0執行 pystone benchmark的速度比py2.5慢30 guido認為py3.0有極大的優化空間,在字串和整形操作上可 以取得很好的優化結果。py3.1效能比py2.5慢15 還有很大的提升空間。2.編碼 py3.x原始碼檔案預設使用utf 8編碼,這就使得以下 是合法...

python3是什麼東西,python是個什麼東西

python2.x and python3.x 一種指令碼語言,可以用來做 和客戶端程式。在liunx系統中很多的命令實現和服務都是用python實現的 liunx系統自帶python2.x 用python做系統也可以,其實就是在liunx的基礎上在開發對外友好的api,wp 安卓和蘋果其實也是一樣...