input--out---correction(输入输出正确)
***第一模块回顾
byte类型:数据存到硬盘,硬盘只能存储2进制。
gbk/utf-8--->>decode(解码)--->>unicode
Unicode--->>encode(编码)--->>gbk/utf-8(2进制)
文字--》utf-8/gbk-->>2进制
图片--》jpg/png-->>2进制
音乐--》mp3/wav-->>2进制
视频--》mp4/mov-->>2进制
bytes类型,以16进制形式表示,2个16进制数(如0x e 5)构成一个byte(字节),
以‘b’来标识
1byte = 8bit
python3文件的默认编码是utf-8(pycharm默认加载文件都是用utf-8编码)
eg:f = open('bytes.txt','w',encoding='gbk') # 自己指定编码
eg:f = open('bytes.txt','wb') # 以2进制模式就不用指定编码
‘wb’-----二进制写(必须是二进制)
‘w’------文件写(必须是字符串)
python按你指定的编码来编成2进制
总结 : 1,字符存硬盘 要变成bytes
2,网络传输 字符要变成bytes类型
**深浅copy
dict,list,set,(和变量赋值指向不一样)
s = {'name' : 'alex', .....}
s2 = s ,此时s2和s是共享 同一份数据的(指向同一个内存地址(杯子)),
s,s2改dict,list,set里面的任一元素会同时改。
深浅copy(借助copy模块)
s.copy,浅copy(只复制第一层)复制一份数据,
只能改第一层的(第一层独立),里面的嵌套断线的数据改了会同时变
s.deepcopy,深copy,所有层都完全独立。