6:python2、python3 的区别及小数据池

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

 

posted @ 2017-12-22 14:41  王二黑  阅读(556)  评论(0编辑  收藏  举报