python2python3 的区别及小数据池

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python2python3 的区别及小数据池相关的知识,希望对你有一定的参考价值。

一、python2 与python3的区别

1、print    python2中输出的格式为:print‘‘    python3输出为print()

2、在python2中xrange是个生成器,可以转化成range,在python3中直接是range

3、在python2中用户交互是raw_input,在python3中是input.

二、关于内存地址(只有数字和字符串才有小数据池,    = 是赋值,==是比较的是值,is 是比较,比较的是内存地址  )

    关于 is 比较内存地址的情况:  

1、

2、数字:在数字  -5---256范围内,共用相同的id(也就是如果在这个范围内,a ,b 分别被赋予相同的值的话,那么他们的内存地址相同)

3、字符串:  

         1)不能有特殊字符串

      2)s*20还是同一个地址,s*21以后就是两个内存地址了

 

三、python2 和  python3   通用的编码方式

  1、utf-8编码方式:    英文 :A       00100000                                                         8位     1字节

                                         中文: 中      00000001   00000010  00001110                    24位    3 字节

  2、gbk        英文: A  00000110                      8位     1字节

              中文: 中      00000010  00000110             16位    2字节

   各个编码之间二进制,是不能互相识别的,会产生混乱

   文件之间的储存、传输、不能用unicode码(因为所占用的空间太大),只能用utf-8、utf-16 、gbk 、gb2312、ascii码

  3、str在python中是用unicode码,还有一种是bytes 类型

英文      str:   表现形式     s = ‘alex‘  

           编码方式      0101010101       unicode

    bytes:表现形式    s = b‘alex‘

        编码方式      00101010          utf-8   gbk

中文       str:    表现方式    s= ‘中国‘ 

       编码方式     01010110            utf-8   gbk

    bytes: 表现方式     b‘x\\e91\\e91\\e01\\e21\\e31\\e32

       编码方式   01001100       utf-8    gbk

 

encode  编码    用于将utf-8转化成bytes 

技术分享图片

 

以上是关于python2python3 的区别及小数据池的主要内容,如果未能解决你的问题,请参考以下文章

编码及小技巧

共存Python2python3报错

JS 数据处理技巧及小算法汇总( 一)

MySQL搜索的一些小问题及小技巧

超级重磅!国家法律法规数据库查询网址及小程序公布

三分及小例题