Python 2 與Python 3的區別

2021-07-04 09:20:23 字數 1492 閱讀 2131

1. 除號/與整除號//

python 2中,/ 是整除; 

python 3中,/是常規除法,//是整除

2.raw_input與input

python 2用raw_input();python 3用input()。都表示輸入函式。

3.print與print(),以及逗號

python 2中,print 「my」, print "name."可用,中間逗號會預設加乙個空格,列印:my name.

python 3中,print("my", end = " ")   print("name.", end = " ") 列印:my name.

4.range()返回值

python 2中print range(5), 返回乙個列表[0, 1, 2, 3, 4].

python 3中print(range(5)), 返回乙個物件。range(0, 5).

5.去除反引號``

python 3中去除``,全部改用repr() 。

函式str() 用於將值轉化為適於人閱讀的形式,而repr() 轉化為字串的規範表示,供直譯器讀取的形式。

6.全域性函式unicode()#

python 2有兩個全域性函式可以把物件強制轉換成字串:unicode()把物件轉換成unicode字串,還有str()把物件轉換為非unicode字串。

python 3只有一種字串型別,unicode字串,所以str()函式即可完成所有的功能。(unicode()函式在python 3裡不再存在了。)

7.庫的變化

python 3.x urllib庫 urilib2庫合併urllib庫

urllib2.urlopen() 變urllib.request.urlopen()

urllib2.request()變urllib.request.request() 

urllib.quote(text)變urllib.parse.quote(text)

file()變open()

urllib.urlencode 變 urllib.parse.urlencode 

urllib2 變 urllib.reques

urlparse 變 urllib.parse

standarderror 變 baseexception

cookielib 變 http.cookiejar 

cstringio 變 io

8.其他

dict.iteritems() 變為dict.items()

basestring超類去掉了,替換成str

except urllib2.httperror e: 變為except urllib2.httperror as e:

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...

python2與python3的區別

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