数据类型之间的区别
整数
在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 | 2.5) round( |
可以看出python2.x
版本的结果跟我们的预想的一样,函数的返回结果还是浮点数
- Python3.x
1 | 2.5) round( |
从结果上看,在python3.x
中,这个函数是有变化的,函数的返回结果变成是整数,而且当要舍弃的数值正好为5(中间)时,会取接近的偶数值。例如:
1 | 2.5) round( |
len()
- Python2.x
1 | '中文') len( |
- Python3.x
1 | '中文') len( |
从结果可以看出,len()
的结果跟字符串默认编码有关。
在Python 3.x里默认是使用Unicode方式存储字符串。
在Python 2.x里默认是使用Latin-1方式存储字符串,因此不能直接识别中文。