python2与python3的不同(备忘)
print 函数
print 语句没有了,取而代之的是 print() 函数。 Python 2.6 与 Python 2.7 部分地支持这种形式的 print 语法。在 Python 2.6 与Python 2.7 里面,以下三种形式是等价的:
print "fish"
print ("fish") # 注意print后面有个空格
print("fish") # print()不能带有任何其它参数
Unicode
Python 2 有 ASCII str() 类型,unicode() 是单独的,不是 byte 类型。
现在, 在 Python 3,我们最终有了 Unicode (utf-8) 字符串,以及一个字节类:byte 和 bytearrays。
由于 Python3.x 源码文件默认使用 utf-8 编码,所以使用中文就更加方便了:
>>> 中国 = 'china'
>>>print(中国)
china
Python 2.x
>>> str = "我爱北京天安门"
>>> str
'\xe6\x88\x91\xe7\x88\xb1\xe5\x8c\x97\xe4\xba\xac\xe5\xa4\xa9\xe5\xae\x89\xe9\x97\xa8'
>>> str = u"我爱北京天安门"
>>> str
u'\u6211\u7231\u5317\u4eac\u5929\u5b89\u95e8'
Python 3.x
>>> str = "我爱北京天安门"
>>> str
'我爱北京天安门'
除法运算
Python 中的除法较其它语言显得非常高端,有套很复杂的规则。Python 中的除法有两个运算符,/ 和 //
首先来说 / 除法:
在 Python 2.x 中 / 除法就跟我们熟悉的大多数语言,比如 Java 和 C ,整数相除的结果是一个整数,把小数部分完全忽略掉,浮点数除法会保留小数点的部分得到一个浮点数的结果。
Python 2.x:
>>> 1 / 2
0
>>> 1.0 / 2.0
0.5
在 Python 3.x 中 / 除法不再这么做了,对于整数之间的相除,结果也会是浮点数。
Python 3.x:
>>> 1/2
0.5