- print语句没有了,取而代之的是print()函数。 Python 2.6与Python 2.7部分地支持这种形式的print语法。在Python 2.6与Python 2.7里面,以下三种形式是等价的:
print "fish"
print ("fish")
print("fish")
from __future__ import print_function
print("fish", "panda", sep=', ')
- Python 2 有 ASCII str() 类型,unicode() 是单独的,不是 byte 类型。
现在, 在 Python 3,我们最终有了 Unicode (utf-8) 字符串,以及一个字节类:byte 和 bytearrays。
由于 Python3.X 源码文件默认使用utf-8编码,这就使得以下代码是合法的:
str = "我爱媳妇"
str
Out[3]: '\xe6\x88\x91\xe7\x88\xb1\xe5\xaa\xb3\xe5\xa6\x87'
type(str)
Out[4]: str
str = u"我爱媳妇"
str
Out[5]: u'\u6211\u7231\u5ab3\u5987'
type(str)
Out[6]: unicode
- 在 Python 3 中处理异常也轻微的改变了,在 Python 3 中我们现在使用 as 作为关键词。
捕获异常的语法由 except exc, var 改为 except exc as var。 - python2 里range(),返回一个列表,还有xrange(),返回一个迭代器。python3里,range()返回迭代器,xrange()不再存在,取消了xrange()函数。
- Python 2.x中不等于有两种写法 != 和 <>
Python 3.x中去掉了<>, 只有!=一种写法,还好,我从来没有使用<>的习惯