Python2和3的区别

Python2和3的区别

返回首页

在Python版本中,2的版本发展到2.7就不在更新了,并且2.7的版本将被支持到2020年。

Python的2和3的区别在于:

1、编码问题:

  在Python3中用的是Unicode编码方法。

  而在Python2的版本中,用的是ASCII编码。

  在ASCII编码中,中国的编码发展过程是从GB2312升级到GBK,再从GBK升级到GB18030。

  ASCII编码中的GB2312->GBK->GB18030,他们都属于双字节字符集(DBCS)。

  在Unicode编码中,解决了ASCII编码的混乱现象,为统一的编码规范。

  在Unicode中,有utf-32、utf-16、utf-8。utf-8是可变长编码也是普遍使用的编码规范。

  在Unicode中,所有的字节均为两个字节存储。一个字节占8位。

  Unicode是用明文去对应相应的二进制数字。

  在utf-8中,一个英文字符占一个字节,汉字占3个字节。

  在utf-8中,是二进制数字对应二进制数字。

 

注意:

  Python2的编码:可以将字节和字符一起处理。使其可以一起混用。

  Python3的编码:将字节和字符分开处理了。使其不得混用

     

2、数字类型:

  在Python3中,没有长整型long的概念,在Python2中有长整型long的概念。

  在Python2中,当数字类型过长时,在数据尾部会有“L”的标识。

 

3、列表类型:

  Python2中,list的sort()方法,可以将数字和字符串混在一起排序,并且数字在前。

  Python3中,list的sort()方法,不可以将数字和字符串混用排序,会报TypeError类型错误。

  在Python3中,将数字变成字符串格式,可以一起排序,按ASCII码表的数值进行排序。

 

4、运算符:

  在Python2中,算数运算符 “ / ” 除法,是整除。

  在Python3中,算数运算符 “ / ” 除法,结果有小数部分。

 

5、字节类型:

  在Python2中,看到的字符串,是bytes类型  str == bytes。

  在Python3中,看到的字符串,是unicode类型,str == unicod

 

6、数据类型:

  不可变:整型、元组、字符串。

  可变的:列表、字典、集合。

 

------ END ------

 

posted @ 2020-03-19 21:47  王先生是胖子  阅读(766)  评论(0编辑  收藏  举报