在概念上的不同点:
- python3默认的编码方式是UTF-8,而python2默认的编码方式是ASCII
- python3的字符串只有一种,即unicode,而python2有两种,一种是str,另外一种是unicode
- python3具有严格的缩进,统一使用tab,而python2两种都支持,既可以是tab,也可以是space - Python3 采用的是绝对路径的方式进行 import,Python2 中相对路径的 import 会导致标准库导入变得困难(想象一下,同一目录下有 file.py,如何同时导入这个文件和标准库 file)。Python3 中这一点将被修改,如果还需要导入同一目录的文件必须使用绝对路径,否则只能使用相关导入的方式来进行导入。
- Python2 中存在老式类和新式类的区别,Python3 统一采用新式类。新式类声明要求继承 object,必须用新式类应用多重继承。
在使用过程中的:
- print函数
- 整数相除
- Unicode
- 异常处理
- xrange
- map函数
- 不支持has_key
print在python2中是一条执行语句,而在python3中是一个函数,具体体现在:
# py2
print "hello","word"
#py3
print("hello","word")
整数相除:
# py2
5/2 # 结果为2
#py3
5/2 # 结果为2.5
参考:知乎强哥