python2和python3的區別

2021-09-28 23:42:48 字數 901 閱讀 1947

1、首先python2中的xrange與python3中的range是對應的,python3將xrange與range合併了。

2、在python2中的pickle中使用的是cpickle,而在python3中則使用的是pickle。

3、在python3**現typeerror: 'dict_keys' object does not support indexing錯誤,這是由於在python3改變了dict.keys,返回的是dict_keys物件,支援iterable 但不支援indexable,我們可以將其明確的轉化成list:

將root = inputtree.keys()[0]轉換成root = list(inputtree.keys())[0]即可。

4、在python2中print到sys.stdout或sys.stderr中則使用print >> sys.stderr, 'start ***************'即可,但在python3中則需要使用print('start ***************',file=sys.stderr)

5、python2和python3中的map區別,在python2中map返回的是乙個list,而在python3中map返回的是乙個map物件,如下圖所示:

在python2中使用:recordlist=[map(eval,row.split(delimiter)) for row in rowlist if row.strip],如果在python3中也要返回乙個列表要寫成recordlist=[list(map(eval,row.split(delimiter))) for row in rowlist if row.strip],意思是先執行for迴圈從rowlist中取出row,然後判斷row.strip是否為空,如果不為空,然後先進行分割,並傳給eval進行轉換,然後向map新增元素,最後轉換為list

python3和python2的區別

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

Python2和Python3的比較

python2 python3 print fish print fish unicode 是單獨的 unicode utf 8 字串 b b china byte 和 bytearrays type b type bytes s b.decode 轉化成 string 型別b1 s encode ...

python3和python2的區別

這個星期開始學習python了,因為看的書都是基於python2.x,而且我安裝的是python3.1,所以書上寫的地方好多都不適用於python3.1,特意在google上search了一下3.x和2.x的區別。特此在自己的空間中記錄一下,以備以後查詢方便,也可以分享給想學習python的frie...