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 ------------

原文地址:https://www.cnblogs.com/george92/p/12527467.html