python基础入门3
集合类型
set:{111,222,333,(1,2,3)}:集合:可变类型:在{}内用逗号分割开多个元素;
类型函数:set()
1.元素的值特点:1.必须是不可变类型 2.集合内元素无序 3.集合内元素不能重复
set1 = {111,222,333,(1,2,3)}
print(set1) >>>{33, (1, 2, 0), 222, 111}
2.功能
1.去重功能
print(set{"hello"}) >>> {'o', 'h', 'e', 'l'}
3.添加元素
set1.add()
4.删除元素
set1.pop() #随机删除
set1.remove() #当值不在时,报错
set1.discard() #当值不在时,不报错
set1.clear() #清空
集合关系运算
关系运算
Linux = {"liu", 'bai', "lin"}
python = {"guo", "bai", "yu"}
1.| 并集
print(linux | python) >>>{'lin', 'guo', 'bai', 'yu', 'liu'}
print(python.union(linux))
2.& 交集(intersection(linux))
print(linux & python) >>>{'bai'}
3.- 差集
print (linux - python) >>>{'liu', 'lin'}
print (python - linux) >>>{'yu', 'guo'}
4.^ 对称差集
print (python ^ linux) >>>{'guo', 'lin', 'yu', 'liu'}
5.相等互为父子集
5.1>,>= 父集
print (python >= linux) >>>False
5.2<,<= 子集
print (python <= linux) >>>False
了解操作:
1.s1.update() #更新
文件操作
1.文件是操作系统提供给应用程序或者用户操作硬盘的一种功能
2.操作文件就是操作硬盘,所以文件就是存储硬盘: 应用程序--->打开文件 操作系统---->文件 计算机硬盘----->硬盘
文件操作步骤以及方法:对文件的操作,对硬盘都是覆盖操作,没有插入操作
1.打开文件:
f = open("a.py", mode="rt", encoding="utf-8") #f的值,叫文件句柄
2.
2.1控制文件读写内容模式
t模式(默认):读写都是字符串格式,必须指定encoding(不然有乱码嫌疑);
适用于:文本文件
b模式: 读写都是bytes类型,不能指定encoding;
适用于:所有文件类型,如:视频文件
适用场景:1.文件的拷贝
方式1:耗费内存:仅仅用于小文件
with open("a.py",mode='rb') as src_f, open("b.py",mode="ab") as des_f:
res = src_f.read()
des_f.write(res)
方式2:
with open("a.py",mode='rb') as src_f, open("b.py",mode="ab") as des_f:
for line in src_f:
des_f.write(line)
2.2控制文件读写操作的模式
r(默认):只读模式 文件指针:开头位置 打开文件不存在报错
with open("a.py", mode="rt", endcoding="utf-8") as f:
pass
w:只写模式 文件指针:开头位置 打开文件不存在创建,存在覆盖 #尽量不要用
with open("a.py", mode="wt", endcoding="utf-8") as f:
pass
a:只追加模式 文件指针:文件末尾 打开文件不存在则创建文档,如果文件存在不会覆盖
with open("a.py", mode="at", endcoding="utf-8") as f:
pass
#+:打开一个文件进行更新(可读可写),建议用纯净模式
3.f.close() #关闭文件,回收操作系统资源
3.上下文管理
with open("a.py", mode="rt", endcoding="utf-8") as f:
print (f.read())
4.控制文件指标
with open("a.py", mode="r+t", endcoding="utf-8") as f:
f.seek(5,0)
f.write("X")
5.文件修改
方式1:耗费内存,对硬盘无要求
with open("a.py", mode="rt", endcoding="utf-8") as f:
data = f.read()
new_data = data.replace("egon", "EGON")
with open("a.py", mode="wt", endcoding="utf-8") as f:
f.write(new_data)
方式2:不耗内存,需要硬盘有2倍的预留空间
import os
with open("a.py", mode="rt", endcoding="utf-8") as f1,open(".b.py.swp", mode="wt", endcoding="utf-8") as f2:
for line in f1:
f2.write(line.replace("egon","EGON"))
os.remove("a.py")
os.rename(".b.py.swp","a.py")