第六章 python杂货铺之python2与py3的区别
6.4 py2 和 py3的区别
1 编码
python2: 解释器默认的编码方式为ASCII
python3: 解释器默认的编码方式为UTF-8
说明:
此种编码的区别指的是,python的解释器去加载磁盘上的源代码文件到内存中然后去执行时,解释器打开源代码文件的编码方式,即解释器采用什么编码方式去解码磁盘上的二进制字符串加载成内存中真正进行运算的Unicode字符串;
2 输入输出
输入:
Python2: raw_input()
python3: input()
输出:
python2: print '要打印的内容' //print作为系统的关键字进行处理;
python3: print() //print作为一个系统内置函数;
3 除法问题
python2: 除法运算的结果只能保留整数位,而不能显示小数位;
python3: 除法运算的结果保留整数和小数位;
解决python2除法不同于python3的问题:
from __future__ import division
4 数据类型的区别
| 数据类型 | python2 | python3 |
|---|---|---|
| int | 两类:int、long int int:32bit系统范围[-231,231-1] 64bit系统范围[-263,263-1] long int: 数字后面采用L进行标识,在int范围之外的数字都属于long int |
所有的整数均属于int类型 |
| 字符串 | 类型:str unicode ---均为basestring class 的子类 str: 为带有编码属性的字符串 具体的str的编码属性取决于解释器默认的编码方式或编码声明行指定的编码方式 unicode: 内存中真正处理的字符串类型 |
类型:str bytes bytearray str: unicode字符串 bytes:非Unicode编码的字符串bytearray:可变的bytes; |

浙公网安备 33010602011771号