Python面試真題 - python2和python3區別
【Python面試真題】- Python2和Python3區別
- 字符編碼: py3中默認字符編碼是unicode;py2中默認字符編碼是 ASCII,如果文件中出現了中文,需要在頂部加入coding聲明
#coding:utf8
- 讓用戶輸入:py3中直接使用
input()
; py2中需要使用raw_input()
- range和xrange:py3中的
range
== py2中的xrange
, 返回類似迭代器的東西,節省內存空間 - 語句變函數: py3中為
print()
,exec()
是一個方法,必須加上括號; py2中為print
,exec
- 數據傳輸: py3中socket傳過來的數據是byte類型 / hashlib包update也需要傳bytes類型的數據; py2中則可以直接傳入str, e.g
# Python3
import hashlib
m = hashlib.sha256()
m.update(b"Nobody inspects")
# Python2
import hashlib
m = hashlib.md5()
m.update("Nobody inspects")