python2/3區別
- 2020 年 4 月 3 日
- 筆記
1.默認解釋器編碼: py2,ascii py3,unicode 2.輸入: py2,raw_ input py3,input 3.輸出: py2, print "內容」 py3, print('內容') 4.整數長度 py2,int + long py3, int 5.整除 py2, 5/2=2 py3, 5/2=2.5
6.內涵 Python2:1.臃腫,源碼的重複量很多。 2.語法不清晰,摻雜著C,php,Java,的一些陋習。 Python3:幾乎是重構後的源碼,規範,清晰,優美。
7.輸出中文的區別 python2:要輸出中文 需加 # -*- encoding:utf-8 -*- Python3 : 直接搞
8.指定位元組 python2在編譯安裝時,可以通過參數—–enable-unicode=ucs2 或—–enable-unicode=ucs4分別用於指定使用2個位元組、4個位元組表示一個unicode; python3無法進行選擇,默認使用 ucs4 查看當前python中表示unicode字元串時佔用的空間: impor sys print(sys.maxunicode) #如果值是65535,則表示使用usc2標準,即:2個位元組表示 #如果值是1114111,則表示使用usc4標準,即:4個位元組表示 9. py2:xrange range py3:range 統一使用range,Python3中range的機制也進行修改並提高了大數據集生成效率
10.在包的知識點裡 包:一群模組文件的集合 + __init__ 區別:py2 : 必須有__init__ py3:不是必須的了
11.不相等操作符"<>"被Python3廢棄,統一使用"!="
12.long整數類型被Python3廢棄,統一使用int
13.迭代器iterator的next()函數被Python3廢棄,統一使用next(iterator)
14.異常StandardError 被Python3廢棄,統一使用Exception
15.字典變數的has_key函數被Python廢棄,統一使用in關鍵詞
16.python3字元串是str 位元組是bytes;python2
17. Py2項目如何遷移成py3? 使用python3 中自帶的2to3腳本在終端中輸入一下命令