day 06 编码and知识点总结

1.day 05 内容回顾

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)

2.作业讲解

 1 '''
 2 3、元素分类
 3     有如下值li= [11,22,33,44,55,66,77,88,99,90],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。
 4 即: {'k1': 大于66的所有值列表, 'k2': 小于66的所有值列表}
 5 '''
 6 # li= [11,22,33,44,55,66,77,88,99,90]
 7 # dic={}
 8 # l1=[]
 9 # l2=[]
10 # for i in li:
11 #     if i==66:
12 #         continue
13 #     if i>66:
14 #         l1.append(i)
15 #     else:
16 #         l2.append(i)
17 # dic.setdefault("k1",l1)
18 # dic.setdefault("k2",l2)
19 # print(dic)
20 
21 '''
22 4、输出商品列表,用户输入序号,显示用户选中的商品
23     商品 li = ["手机", "电脑", '鼠标垫', '游艇']
24 要求:1:页面显示 序号 + 商品名称,如:
25           1 手机
26            2 电脑
27 28      2: 用户输入选择的商品序号,然后打印商品名称
29   3:如果用户输入的商品序号有误,则提示输入有误,并重新输入。
30 4:用户输入Q或者q,退出程序。
31 
32 '''
33 while 1:
34     li = ["手机", "电脑", '鼠标垫', '游艇']
35     for i in  li :
36          print('{}\t\t{}'.format(li.index(i)+1,i))
37     num_of_choice = input('请输入选择的商品序号:')
38     if num_of_choice.isdigit():
39          num_of_choice = int(num_of_choice)
40          if num_of_choice>0 and num_of_choice<=len(i):
41           print(li[num_of_choice-1])
42          else:print('请输入有效数字')
43     elif num_of_choice.upper()=='Q':break
44 else:print('请输入数字')

3.小知识点总结

 1 '''
 2 pythoon2 python3的区别
 3 
 4 '''
 5 #python2
 6 #print()  print'abc'
 7 #range()  xrangge()生成器
 8 #raw_input()
 9 
10 #python3
11 #ptint(abc)
12 #range()
13 #input()
14 
15 # =(赋值)  ==(比较值是否相等) is 比较,比较就是内存地址
16 # li1 = [1,2,3]
17 # li2=li1
18 # print(id(li1),id(li2))
19 # id()#测出内存地址
20 
21 #数字 字符串  小数据池
22 #数字的范围  -5--256
23 #字符串:1,不能有特殊字符
24     #    2,s*20还是同一个地址,s*21以后都是两个地址
25 # i1 = 6
26 # i2 = 6
27 # print(id(i1),id(i2))
28 
29 
30 #剩下的 list dict tuple set
31 #l1 = [1,]
32 #l2 = [1,]
33 #print(l1 is l2)
34 
35 
36 # s = 'alex'
37 # s1 = b'alex'
38 # print(s,type(s))
39 # print(s1,type(s1))
40 
41 # s = '中国'
42 # print(s,type(s))
43 # s1 = b'中国'
44 # print(s1,type(s1))
45 
46 # s1 = 'alex'
47 # # encode 编码,如何将str --> bytes, ()
48 # # s11 = s1.encode('utf-8')
49 # s11 = s1.encode('gbk')
50 # print(s11)
51 s2 = '中国'
52 s22 = s2.encode('utf-8')
53 s22 = s2.encode('gbk')
54 print(s22)

4.编码(py3)

 1 ascii
 2            A : 00000010  8位  一个字节
 3 
 4 unicode
 5            A: 00000000  000000001  00000010   00000100  32位四个字节
 6            中:00000000  000000001  00000010   00000110  32位四个字节
 7 gdk         A:00000110   8位一个字节
 8             中:000000001  00000010   00000110  24位三个字节
 9 
10 1.各个编码之间的二进制,是不能互相识别的,会产生乱码
11 2.文件的存储,传输,不能是unicode存储的
12 
13 py3:
14     str 在内存中是用unicode编码
15     bytes类型
16     对于英文:
17        str: 表现形式: s = 'alex'
18             编码方式:010101010 unicode
19        bytes:表现形式:s = b'alex'
20               编码方式:000101010  utf-8  gbk
21     对于中文:
22         str: 表现形式: s = 'alex'
23             编码方式:010101010 unicode
24        bytes:表现形式:s = b'x\e91\e91\e01\e21\e31\e32'
25               编码方式:000101010  utf-8  gbk
 1 # s = 'alex'
 2 # s1 = b'alex'
 3 # print(s,type(s))
 4 # print(s1,type(s1))
 5 
 6 # s = '中国'
 7 # print(s,type(s))
 8 # s1 = b'中国'
 9 # print(s1,type(s1))
10 
11 # s1 = 'alex'
12 # # encode 编码,如何将str --> bytes, ()
13 # # s11 = s1.encode('utf-8')
14 # s11 = s1.encode('gbk')
15 # print(s11)
16 s2 = '中国'
17 s22 = s2.encode('utf-8')
18 s22 = s2.encode('gbk')
19 print(s22)

猜你喜欢

转载自www.cnblogs.com/gcs888/p/10753811.html