Python2 與Python3 的區別

2021-08-16 00:12:15 字數 1182 閱讀 7227

1. print函式

py2中print是乙個語法結構,如 print value;  

py3中print是乙個函式,如 print(value)。

2. 除法運算

py2中兩個整數除法得到的是0,要想得到浮點數結果,則被除數或除數二者要有乙個是浮點數才行。如:

print 1/4    >>>0

print 1/4.   >>>0.25

py3中整數相除可以直接得到浮點數結果,要想整數相除得到的是0,則要使用//符號。如:

print(1/4)   >>>0.25

print(1//4)  >>>0

3. nonlocal語句

py2沒有,而py3 新加入的,可以指定非全域性變數。

4. input函式

py2中輸入函式有input和raw_input兩個函式,py3中只保留了input函式作為輸入函式,而不再使用raw_input。

5. cpickle模組

py3中用pickle模組來取代py2的cpickle模組。

6. urlib模組

py2中有兩個爬蟲常用包urlib和urlib2,在py3中二者統一到urlib中。此外,py2中的urlparse模組也被統一到了urlib中,用法為urlib.parse。

7. 字典dict的方法

dict中的keys()、items()、values()方法將返回乙個迭代器,而iterkeys()、has_key()方法將被棄用。

8. 迭代器next()

py3中迭代器next()方法更改為__next__(),並增加了內建函式next()。

9. 裝飾器@

py3中新增了兩個裝飾器@abstractmethod和@abstractproperty。

10. os模組

py3中os模組中的os.tmpnam()和os.tmpfile()已轉移到了tmpfile模組下。

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的區別

前記 python3對python2一些改變是 將一些內建函式由python2時返回列表變為python3返回迭代器 生成器 物件。python3對其改進的原因是迭代器的惰性求值特性 迭代器不會在它被繫結到變數之後就立即求值,而是等用到時再求值 這個特性可以解決一些巨大甚至無限的集合列表,如菲波那切...