python创建一个空集合_python开发学习day08 (集合; 文件操作)

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 |s2print(res)

1.1.3 取差集(s1中独有的部分)

res = s1 -s2print(res)

1.1.4 取交叉补集(两个集合独有的部分)

res = s1 ^s2print(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 ins1: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:\py\6.10\a.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\n")

f.write("May\n")

f.write("Mini\n") #在f.close()之前可以连续写入,但是下一次操作仍会清空c.txt

f.close()

③ a 模式:

特点:1、只追加模式

2、当文件不存在会创建一个空文件,然后文件指针跳到文件末尾

3、当文件存在时文件内容不会被清空,文件指针跳到文件末尾

f= open('d.txt',mode='at',encoding='utf-8')

f.write('aaa\n')

f.write('bbb\n')

f.write('ccc\n')

f.close()

2.4 总结w与a模式的异同:

相同点:在文件打开了没有被关闭的情况下,连续的写入,新写入的内容总是跟在老内容之后

不同点:在文件关闭了重新打开的情况下,a模式永远把文件指针放到文件末尾;而w模式会将文件清空再写入

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值