Python学习之路--小知识点及编码

python2与pyton3区别

python2:

    print() 或 print 'abc'

    range()  xrange() 生成器

    raw_input()

python3:

    print()

    range()

    input()

赋值、== 比较值是否相等、 is 比较,比较的是内存地址

li1 = [1,2,3]

li2 = li1   #两者内存地址相同

数字,字符串 都有小数据池,在一定程度上节省空间

数字范围-5 到256 ,创建时,内存会相同

字符串:1,不含有特殊字符

            2.s*20 还是同一个地址,s*21以后,不同地址

list、tuole、dict、set无小数据池。

编码

ASCII

    A:00000010 8位 1个字节

Unicode 开始16位

    A:00000000 00000001 00000010 00000100 32位 4字节

    中:00000000 00000001 00000010 00000110 32位 4字节

utf-8

    A:0000010 8位 1个字节

    中:00000001 00000010 00000110  24位 3个字节

gbk

    A:00000010 8位 1个字节

    中:00000010 00000110 16位 2个字节

1、各个编码直接的二进制,是不能互相识别的,会产生乱码

2、文件的储存,传输,不能是Unicode

python3:str 在内存中是用Unicode编码。

              bytes类型

              对于英文:

                     str :表现形式 s = ‘al’

                              编码方式:Unicode

                     bytes:表现形式  s=b‘de’

                                  编码方式 :00010110,utf-8,gbk..

                 对应于中文:

                     str :表现形式 s = ‘中文’

                              编码方式:Unicode

                     bytes:表现形式  s=b‘x\e91\e91\e01\e21\e31\32’

                                  编码方式 :00010110,utf-8,gbk.

encode()编码

decode()解码

猜你喜欢

转载自www.cnblogs.com/rssblogs/p/10914830.html