数据类型之间的区别
整数
在Python 2.x版本中整数分为一般整数和长整数。
1 | 2**31 |
这个是在Python 2.7.13版本的结果。每个版本会有一些不同。在这个版本中一般整数是32bit的(符号位占1bit)。当超过32bit,会在后面加L。一些版本有可能是64bit,这个看具体的版本。
但是在Python 3.x就没有这种区分,整数只有一个类型。
1 | 2**31 |
这个是在Python 3.6.2版本的结果,可以证实Python 3.x的整数跟Python 2.x是有区别的
函数之间的区别
round()
round()之四舍五入
- Python2.x
1 | round(2.5) |
可以看出python2.x版本的结果跟我们的预想的一样,函数的返回结果还是浮点数
- Python3.x
1 | round(2.5) |
从结果上看,在python3.x中,这个函数是有变化的,函数的返回结果变成是整数,而且当要舍弃的数值正好为5(中间)时,会取接近的偶数值。例如:
1 | round(2.5) |
len()
- Python2.x
1 | len('中文') |
- Python3.x
1 | len('中文') |
从结果可以看出,len()的结果跟字符串默认编码有关。
在Python 3.x里默认是使用Unicode方式存储字符串。
在Python 2.x里默认是使用Latin-1方式存储字符串,因此不能直接识别中文。

