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
eg:
# python3 import hashlib m = hashlib.sha256() m.update(b"Nobody inspects") # python2 import hashlib m = hashlib.md5() m.update("Nobody inspects")