01 昨日内容回顾
is 两者之间的id是否相同
== 两边的数值是否相等
id 获取该对象的内存地址
代码块:
一个文件,交互式命令行:一行是个一个代码块.
同一代码块下: 字符串的缓存机制,驻留机制:
背景: 同一个代码块下.
遇到初始化对象命令,会实现检查字典中是否有此对应关系......
针对的数据类型: int(float), 大量的str, bool, () ,None
优点:
1,节省内存空间.
2,提升性能.
小数据池:
背景:不同的代码块.
在内存中,开辟两个空间.
一个空间: -5~256 int.
一个空间: 一定规则的字符串.
针对的数据类型: int str,bool () None
优点:
1,节省内存空间.
2,提升性能.
数据类型的补充:
1,数据之间的相互转换.
2,(1) ----> int (1,) ----> tuple
3,dict.fromkeys([1,2,3],value)
4,循环一个列表,字典,不要改变其大小.
02 作业讲解
03 编码的进阶
ASCII: 英文字母,数字,特殊符号, ----> 二进制的对应关系
str:
1个字符 -----> 1个字节
a : 0001 0000
Unicode: 万国码: 世界上所有的文字与二进制的对应关系
1个字符 -----> 4个字节
a: 0001 0000 0001 0000 0001 0000 0001 0000
中: 0001 0000 0001 0000 0001 0000 0011 0000
utf-8: 至少用8位1个字节表示一个字符.
a: 0001 0000 映射的ASCII
中: 0001 0000 0001 0000 0001 0000 三个字节
gbk: 国标.
a: 0001 0000 映射的ASCII
中: 0001 0000 0001 0000 两个字节
1,不同的编码之间的0101010 是不能互相识别的.
2,网络传输,数据存储到磁盘你用的0101010这种二进制,不能使用Unicode的编码本去编译.
大背景:python3x版本.
str:它在内存中的编码方式: Unicode
但是咱们写入文件的内容,传输给别人的数据,一般都是str的形式.
矛盾点:网络传输,数据存储到磁盘你用的0101010这种二进制,不能使用Unicode的编码本去编译.但是python3x又需要str形式去操作
利用str 发送或者传输
(转换,将unicode编码转化成非Unicode)
----> 发送,传输
int
bool
str
bytes数据类型,与str几乎一模一样.
list
dict
set
tuple
英文:
str:
在内存中的编码:Uniode
表现形式:'taibai'
bytes:
在内存中的编码:非Unicode
表现形式:b'taibai'
中文:
str:
在内存中的编码:Uniode
表现形式:'中国'
bytes:
在内存中的编码:非Unicode
表现形式:b'\xe4\xb8\xad\xe5\x9b\xbd'
str(Unicode) ---> bytes(非Unicode)
04 文件操作的初识
美女护士教师主妇联系方式.txt
文件的路径:path.
编码方式:utf-8 gbk 等等.
具体的操作: 读,写,读写,写读,等等.
出现的问题:
1,路径问题.
r"D:\0美女护士教师主妇联系方式.txt"
"D:\\0美女护士教师主妇联系方式.txt"
2,
编码的问题:UnicodeDecodeError:
编码要与文件存储时的编码保持一致.
3,
错误: 有的电脑 会隐藏 后缀名.
05 文件的读
四种模式:
r r+ rb r+b ...
每种模式下,又有5种读文件不同方式.
06 文件的写
07 文件的追加
r r+ w a
网络: rb wb
08 其他操作方法
总结:
最常用的几个方法 read seek tell flush readable writeable
09 文件的改
以读的模式打开原文件.
以写的模式创建一个新文件.
将原文件内容读取出来,按照你的要求改成新内容,写入新文件.
删除原文件.
将新文件重命名成原文件.
10 深浅copy
浅copy
浅copy:
无论是同一个代码块,不同代码块下:
复制一个外壳(列表),但是列表里面的所有元素,都共用一个.
深copy:
不论是同一个代码块,不同代码块下:
不仅创建一个新外壳(列表),外壳里面的可变的数据类 型也创建一份新的,但是不可变的数据类型共用一个.
总结:
编码: gbk unicode utf-8 转换
文件操作:
r r+ rb wb
seek tell flush readable writeable read
文件的改的操作.
设计到的代码: 高大上版的一定要会.
深浅copy:面试考.
下周一:
上午 总结,回顾.(知识点,带着你们做题.)
晚上: 考试.