python2與python3的區別

2022-05-06 21:18:08 字數 2578 閱讀 4931

1、字元編碼

python2預設ascii編碼

python3預設utf-8編碼

2、除法運算

python2 整數相除的結果是乙個整數,把小數部分完全忽略掉,浮點數除法會保留小數點的部分得到乙個浮點數的結果。

在python3中 對於整數之間的相除,結果也會是浮點數

python 2.x:

>>> 1 / 2

0>>> 1.0 / 2.0

0.5

python 3.x:

>>> 1/2

0.5

3、不等於運算子

python 2.x中不等於有兩種寫法 != 和 <>

python 3.x中去掉了<>, 只有!=一種寫法

4、資料型別

py3 去除了long型別,現在只有一種整型——int,但它的行為就像py2版本的long

5、捕獲異常

python2 捕獲異常的語法: except exception, e

python3 except exception as e

6、unicode字串

python2中有兩種字串型別:unicode字串和非unicode字串。python3中只有一種型別:unicode字串。

python2有兩個函式可以把物件強制轉換成字串:unicode()把物件轉換成unicode字串,還有str()把物件轉換為非unicode字串。python3只有一種字串型別,unicode字串,所以str()函式即可完成所有的功能。

7、print()和raw_print()

在python2中 raw_input( )和input( ),兩個函式都存在,其中區別為:

在python3中 raw_input( )和input( )進行了整合,去除了raw_input(),僅保留了input()函式,用法與py2中的raw_input()一致

8、range和xrange

py2中range()直接生成列表(量大佔記憶體宕機),py3中只有range( )和py2中還有的xrang( )都只生成乙個生成器

9、經典類與新式類

建立類時,py2分為經典類和新式類,新式類就是繼承object的類,經典類是沒有繼承的類,而py3中全部是新式類,預設繼承object

python2預設ascii編碼

python3預設utf-8編碼

2、除法運算

python2 整數相除的結果是乙個整數,把小數部分完全忽略掉,浮點數除法會保留小數點的部分得到乙個浮點數的結果。

在python3中 對於整數之間的相除,結果也會是浮點數

python 2.x:

>>> 1 / 2

0>>> 1.0 / 2.0

0.5

python 3.x:

>>> 1/2

0.5

3、不等於運算子

python 2.x中不等於有兩種寫法 != 和 <>

python 3.x中去掉了<>, 只有!=一種寫法

4、資料型別

py3 去除了long型別,現在只有一種整型——int,但它的行為就像py2版本的long

5、捕獲異常

python2 捕獲異常的語法: except exception, e

python3 except exception as e

6、unicode字串

python2中有兩種字串型別:unicode字串和非unicode字串。python3中只有一種型別:unicode字串。

python2有兩個函式可以把物件強制轉換成字串:unicode()把物件轉換成unicode字串,還有str()把物件轉換為非unicode字串。python3只有一種字串型別,unicode字串,所以str()函式即可完成所有的功能。

7、print()和raw_print()

在python2中 raw_input( )和input( ),兩個函式都存在,其中區別為:

在python3中 raw_input( )和input( )進行了整合,去除了raw_input(),僅保留了input()函式,用法與py2中的raw_input()一致

8、range和xrange

py2中range()直接生成列表(量大佔記憶體宕機),py3中只有range( )和py2中還有的xrang( )都只生成乙個生成器

9、經典類與新式類

建立類時,py2分為經典類和新式類,新式類就是繼承object的類,經典類是沒有繼承的類,而py3中全部是新式類,預設繼承object

Python 2 與Python 3的區別

1.除號 與整除號 python 2中,是整除 python 3中,是常規除法,是整除 2.raw input與input python 2用raw input python 3用input 都表示輸入函式。3.print與print 以及逗號 python 2中,print my print na...

Python3 與 Python2 的不同

至於學習 python3 和 python2,我了解到的觀點是這樣的。1 現在很多的專案都還是在用 python2,學習 python2 還是有意義的 2 python2 在 python 的官方已經公布了在什麼什麼時間停止維護,所以對於新手來說,學習 python2 的價值不是很大,所以直接 py...

Python2 與Python3 的區別

1.print函式 py2中print是乙個語法結構,如 print value py3中print是乙個函式,如 print value 2.除法運算 py2中兩個整數除法得到的是0,要想得到浮點數結果,則被除數或除數二者要有乙個是浮點數才行。如 print 1 4 0 print 1 4.0.2...