Python2与Python3的差异

1.md5计算方式不同

2.base64调用方式不同

3.xrange与range

在Python 2.x

range()生成一个list对象,而xrange()生成一个生成器。

因此,要生成很大的数字序列的时候,用xrange会比range性能优很多,因为不需要一上来就开辟一块很大的内存空间。所以xrange做循环的性能比range好,尤其是返回很大的时候。尽用xrange,除非你是要返回一个列表。

在Python 3.x

range()的实现方式与xrange()函数相同,所以就不存在专用的xrange(),在Python 3.x中使用xrange()会触发NameError。

4.string.decode(‘hex’)

在Python2.x

经常使用str_obj.decode(‘hex’)

在Python3.x

可以使用codecs.decode(str_obj, ‘hex_codec’)来代替

urllib.quote()

在Python2.x

urllib.quote()

在Python3.x

urllib.parse.quote(str)

解码则用 urllib.parse.unquote(str)