数字,字符串 小数据池
# = 赋值 == 比较值是否相等 is 比较,比较的是内存地址 id(内容) # li1 = [1,2,3] # li2 = li1 # li3 = li2 # print(id(li1),id(li2))
数字的范围 -5 -- 256
ascii 数字和英文 : 00000010 8位 一个字节 unicode 数字和英文 : 00000000 00000001 00000010 00000100 32位 四个字节 中文:00000000 00000001 00000010 00000110 32位 四个字节 utf-8 数字和英文 : 00100000 8位 一个字节 中 : 00000001 00000010 00000110 24位 三个字节 gbk 数字和英文 : 00000110 8位 一个字节 中 : 00000010 00000110 16位 两个字节 1,各个编码之间的二进制,是不能互相识别的,会产生乱码。 2,文件的储存,传输,不能是unicode(只能是utf-8 utf-16 gbk,gb2312,asciid等
编码
py3: str 在内存中是用unicode编码。
bytes类型 对于英文: str :表现形式:s = 'alex' 编码方式: 010101010 unicode bytes :表现形式:s = b'alex' 编码方式: 000101010 utf-8 gbk。。。。 对于中文: str :表现形式:s = '中国' 编码方式: 010101010 unicode bytes :表现形式:s = b'xe91e91e01e21e31e32' 1 编码方式: 000101010 utf-8 gbk。。。。 dic={'k1':'v1','k2':'v2','a3':'v3'} # s1 = 'alex' # encode 编码,如何将str --> bytes, # s11 = s1.encode('utf-8') # s11 = s1.encode('gbk') # print(s11) # s2 = '中国' # s22 = s2.encode('utf-8') encode编码 # s22 = s2.encode('gbk') # print(s22) #S3=S22.decode() decode解码