1.1 集合关系运算
firends1 = {"zero", "kevin", "jason", "egon"}
firends2 = {"jy", "ricky", "jason", "egon"}
1.1.1 取两者取交集
res = firends1 & firends2
1.1.2 取两者的并集
res=firends1 | firends2
1.1.3 取两者差集
res=firends1 - firends2
res=firends2 - firends1
1.1.4 取两者的对称差集/交叉补集
res=firends1 ^ firends2
1.1.5 父子集
一个集合包含另外一个集合,他们才有父子集的关系
集合1>集合2 结果True时,意味着集合1内的元素完全包含了集合2,代表集合1是集合2的父集
集合1<集合2 结果True时,意味着集合2内的元素完全包含了集合1,代表集合1是集合2的子集
集合1==集合2 结果为True时,意味着两个集合内的元素相同,两者互为父子集
1.2 集合的常用操作
1.2.1 for
s1 = {3, 2, 1}
for item in s1:
集合可以被for遍历循环
1.2.2 update
s={1,2,3}
s1.update({3,4,5})
跟新集合,将没有的元素添加入集合
1.2.3 clear
s.clear()
清空集合
1.2.4 pop
res=s.pop()
随机取走并删除一个值
1.2.5 remove,discard
s.remove(1)
删除一个值,如果值不存在会报错
s1.discard(1)
删除一个值,值不存也不会报错
1.2.6 add
s.add(6)
添加一个新值
1.2.7 isdisjoint
s1={1,2,3}
s2={4,5}
print(s1.isdisjoint(s2))
如果两个集合没有共同的元素则返回True
1.3 集合的总结
集合可以存多个值,且是无序的,是可变类型
2.1 什么是文件
文件是操作系统提供给用户/应用程序操作硬盘的一个虚拟单位/功能
应用程序/用户对文件的读写操作都是在向操作系统发起系统调用
操作系统接收到调用请求后,会将该请求转换成具体的硬盘操作
2.2 为何要用文件
应用程序操作文件为了将内存中的数据永久保存到硬盘中去
2.3 文件的基本操作
文件的路径:找到文件的地址
绝对路径:r'C:\a\b\c\new.txt'
相对路径:相对于当前程序所在文件夹往后找,r"aaa/a.txt"
f = open(r"aaa/a.txt", mode='rt', encoding='utf-8')
data=f.read()
data=f.read()
f.close() # 关闭文件,释放操作系统资源
2.4 文件的模式
2..4.1 t:(默认的)
1、读写内容都是以字符串为单位
2、只适用于文本文件
3、必须指定encoding参数
2.4.2 b:
1、读写内容都是以bytes为单位
2、适用于所有文件
3、一定不能指定encoding参数
2.5 控制文件读写操作的模式
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')
f.write("a")
f.close()
a:
1、只追加模式
2、当文件不存在会创建一个空文件,然后文件指针跳到文件末尾
3、当文件存在时文件内容不会被清空,文件指针跳到文件末尾
f = open('d.txt',mode='at',encoding='utf-8')
f.write('a')
f.close()
w与a模式的相同点
在文件打开了没有被关闭的情况下,连续的写入,新写入的内容总是跟在老内容之后
w与a模式的不同点
在文件关闭了重新打开的情况下,a模式永远把文件指针放到文件末尾