01 Day6
程序员文章站
2022-07-13 22:31:43
...
1,昨日内容回顾
dict: dic = {'name':'alex'}
增:dic{'age'} = 21 存在就覆盖
dic.setdefault() 没有就增加
删除:pop() 按照key删除,有返回值
clear
del dict['name']
popitem() 随机删除,返回的是元祖
改 update
查
dic.keys()
dic.values()
dic.items()
for k,v in dic.items():
print(k,v)
dic.get(key,None)
# dic = {'k1':'v1','k2':'v2','k3':[11,22,33]}
# dic1 = dic['k4'] = 'v4'
# print(dic)
# dic1 = dic['k1'] ='alex'
# print(dic1)2,
'''
python 2 python 3
'''
#python2
#print'abc' 可以不用加括号
#range() xrange() 生成器
#raw_input() 输入
#python3 必须加括号
#只有range()
#input
# = 赋值 == 比较值是否相等 is 比较的是内存地址 id(内容)
# li1 = [1,2,3]
# li2 = li1
# print(li1 is li2 li2,li1共用一个内存地址
#数字,字符串 小数据池(在一定范围内,为节省空间可公用一个内存地址)
#数字的范围 -5 -- 256
#字符串:1,不能含有特殊字符
#2,s*20还是同一个地址,s*21以后都是两个地址
# i1 = 6
# i2 = 6
# print(id(i1),id(i2))
#剩下的 list dict tuple set 都没有小数据池
# l1 = [1]
# l2 = [1]
# print(l1 is l2)
3,编码
ascii A : 00000010 8位 一个字节 unicode A :32位 四个字节 中 :32位 四个字节 utf-8 A :0010 0000 8位 一个字节 中 : 24位 三个字节 gbk A:00000010 8位 一个字节 中: 16位 两个字节 1,各个编码之间的二进制,是不能互相识别的,会产生乱码 2,文件的储存,传输,不能是unicode(只能是utf-8 utf-16 gbk ascii等) py3: str在内存中使用unicode编码的。 bytes类型 对于英文: str :表现形式:s = 'alex' 编码方式: 010101010 unicode bytes : 表现形式:s = b'alex' 编码方式:000101010 utf-8 gbk... 对于中文: str :表现形式:s = '中国' 编码方式: 010101010 unicode bytes : 表现形式:s = b'x\e91\e91\e01\e21\e31\e32' 编码方式:000101010 utf-8 gbk... s1 = 'alex' #encode 编码,如何将str -->bytes #s11 = s1.encode('utf-8') s12 = s1.encode('gbk') print(s11) s2 = '中国' #s22 = s2.encode('utf-8') s22 = s2.encode('gbk') print(s22)