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")