python学习day6
Posted wujunjie-sir
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python学习day6相关的知识,希望对你有一定的参考价值。
昨日回顾
dict: dic = {‘name‘:‘alex‘} 增:dic[‘age‘] = 21 存在就覆盖 dic.setdefault() 没有就增加 删除:pop()按照key删除,有返回值 clear del dic[‘name‘] popitem()随机删除 返回的是元祖 改 update 查 dic.keys() dic.values() dic.items() for k,v in dic.items(): print(k,v) dic.get(key,None)
编码问题
ascii A : 00000010 8位 一个字节 unicode A : 00000000 00000001 00000010 00000100 32位 四个字节 中:00000000 00000001 00000010 00000110 32位 四个字节 utf-8 A : 00100000 8位 一个字节 中 : 00000001 00000010 00000110 24位 三个字节 gbk A : 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‘ 编码方式: 000101010 utf-8 gbk
小知识点总结
= 赋值 == 比较值是否相等 is 比较,比较的是内存地址 id(内容) # li1 = [1,2,3] # li2 = li1 # li3 = li2 # print(id(li1),id(li2)) #数字,字符串 小数据池 #数字的范围 -5 -- 256 #字符串:1,不能有特殊字符 # 2,s*20 还是同一个地址,s*21以后都是两个地址 # i1 = 6 # i2 = 6 # print(id(i1),id(i2)) # i1 = 300 # i2 = 300 # print(id(i1),id(i2)) #剩下的 list dict tuple set # l1 = [1,] # l2 = [1,] # print(l1 is l2) # s = ‘alex‘ # s1 = b‘alex‘ # print(s,type(s)) # print(s1,type(s1)) # s = ‘中国‘ # print(s,type(s)) # s1 = b‘中国‘ # print(s1,type(s1)) s1 = ‘alex‘ # encode 编码,如何将str --> bytes, () s11 = s1.encode(‘utf-8‘) s11 = s1.encode(‘gbk‘) print(s11) s2 = ‘中国‘ s22 = s2.encode(‘utf-8‘) s22 = s2.encode(‘gbk‘) print(s22)
以上是关于python学习day6的主要内容,如果未能解决你的问题,请参考以下文章