2020-06-10 目录:
一 、集合
1.1 关系运算
1.1.1 取交集
1.1.2 取并集
1.1.3 取差集
1.1.4 取交叉补集
1.1.5 父子集
1.2、常用操作+内置方法
1.2.1 循环
1.2.2 update
1.2.3 clear
1.2.4 pop
1.2.5 remove
1.2.6 discard
1.2.7 add
1.2.8 isdisjoint
1.3 类型总结
二、文件操作
2.1 什么是文件
2.2 为何要用文件
2.3 如何用文件
2.3.1 文件的基本操作
2.3.2 文件的模式
一 、集合
1.1 关系运算
以两个集合来举例:
s1 = {'aaa', 'bbb', 'ccc', 'ddd'} s2 = {'ccc', 'ddd', 'eee', 'fff'}
1.1.1 取交集
res = s1 & s2
print(res)
1.1.2 取并集
res = s1 | s2 print(res)
1.1.3 取差集(s1中独有的部分)
res = s1 - s2 print(res)
1.1.4 取交叉补集(两个集合独有的部分)
res = s1 ^ s2 print(res)
1.1.5 父子集
一个集合包含另一个集合,这两个集合才有父子集的关系
s1 = {1, 2, 3} s2 = {1, 2} print(s1 > s2) # 结果True,代表s1是s2的父集 print(s2 < s1) # 结果True,代表s2是s1的子集
1.2、常用操作+内置方法
1.2.1 循环
s1 = {"a", "b", "c"} for item in s1: print(item)
1.2.2 update
s1 = {333, 222, 111} s1.update({'aaa', 'bbb'}) print(s1) # >>>{'aaa', 'bbb', 333, 222, 111}
update()可以往s1里面添加多个值,且s1的id不会变化
1.2.3 clear 清空
s1 = {333, 222, 111} s1.clear() print(s1) # >>>set()
1.2.4 pop 随机删除
s1 = {333, 222, 111} s1.pop() # 有返回值,为随机删除的那个值 print(s1) # >>>{222, 111}
1.2.5 remove 删除指定元素
s1 = {333, 222, 111} res = s1.remove(222) print(s1) # >>>{333, 111} print(res) # >>>None 没有返回值,如果删除的元素不存在,运行会报错
1.2.6 discard 指定元素删除
s1 = {333, 222, 111} res = s1.discard("aa") print(s1) # >>>{333, 222, 111} 与remove不同的是,如果删除的值不存在,运行不会报错 print(res) # >>>None
1.2.7 add 添加一个值
s1 = {333, 222, 111} s1.add("aaa") print(s1) # >>>{'aaa', 333, 222, 111} 只能添加一个值,添加多个值会报错
1.2.8 isdisjoint
两个集合,没有交集就会返回True
s1 = {333, 222, 111} s2 = {"aaa", "bbb"} print(s1.isdisjoint(s2)) # >>>True
1.3 类型总结
集合能存多个值,是无序的,set集合是可变类型
二、文件操作
2.1 什么是文件?
文件是操作系统提供给用户/应用程序操作硬盘的一个虚拟单位/功能 用户/应用程序对硬盘的读写操作都是在对操作系统发起调用 操作系统在收到调用请求后,会将该请求转换成具体的硬盘操作
2.2 为何要用文件?
应用程序操作文件都是为了将内存中的数据永久保存到硬盘中去
2.3 如何用文件?
2.3.1 文件的基本操作
① 文件的路径
文件的路径:找到文件的地址 绝对路径:如 r'D:py6.10a.txt' 相对路径:从程序所在的文件夹往后找,如 r'a.txt'
② 句柄
f = open(r'a.txt', mode='rt', encoding='utf-8')
data = f.read()
print(data)
f.close() # 调用完以后要关柄操作,释放操作系统资源
2.3.2 文件的模式
(1)控制文件读写内容的模式(不能单独使用,必须与r、w、a结合使用)
① t:默认模式
读写内容都是以字符串为单位
只适用于文本文件操作
必须指定encoding参数(通常使用 encoding = 'utf-8')
② b:
读写内容都是以bytes(字节)为单位
适用于一切文件
一定不能指定encoding参数
(2)控制文件读写操作的模式
① r 模式:(默认模式)
特点:1. 只读模式
2. 当文件不存在时则报错
3. 当文件存在时文件指针跳到文件内容的开头
f = open('b.txt', mode='rt', encoding='utf-8') data = f.read() print(data) f.close()
② w 模式:
特点:1、只写模式
2、当文件不存在会创建一个空文件,然后文件指针跳到文件开头
3、当文件存在时文件内容会被清空,然后文件指针跳到文件开头
f = open('c.txt', mode='wt', encoding='utf-8') name = input('>>: ') f.write(name) f.write("Jason ") f.write("May ") f.write("Mini ") # 在f.close()之前可以连续写入,但是下一次操作仍会清空c.txt
f.close()
③ a 模式:
特点:1、只追加模式
2、当文件不存在会创建一个空文件,然后文件指针跳到文件末尾
3、当文件存在时文件内容不会被清空,文件指针跳到文件末尾
f = open('d.txt',mode='at',encoding='utf-8') f.write('aaa ') f.write('bbb ') f.write('ccc ') f.close()
2.4 总结w与a模式的异同:
相同点:在文件打开了没有被关闭的情况下,连续的写入,新写入的内容总是跟在老内容之后
不同点:在文件关闭了重新打开的情况下,a模式永远把文件指针放到文件末尾;而w模式会将文件清空再写入