集合dict{} 下
创建集合
两种方法:
1、直接把一大堆元素用大括号({})括起来
2、用set()
>>>set1 = {'abc','bdd'}
>>>set2 = set(['fff','fs'])
访问集合
>>>set1 = {1,2,4,5,6,7,8}
>>>for each in set1:
print(each,end='')
1 2 4 5 6 7 8
判断一个元素是否在集合中已经存在
>>>0 in set1
False
>>>8 in set1
True
使用add() 方法 增加元素
remove() 方法 删除元素
不可变集合
有些时候希望中的数据具有稳定性,也就是说,想元祖一样不能随意地增加或删除集合中的元素。那么我们可以定义不可变集合,这里使用函数frozenset()。
>>>set1 = frozenset({1,3,5,7})
>>>set1.add(9)
这里就会报错了。。。 被冻结了。
文件
open函数打开
打开模式:
r:制度,默认
w:写入,会覆盖已经存在的文件
x:如果文件已经存在,使用此模式打开将引发异常
a:写入模式,如果文件已经存在,则在末尾追加写入
b:二进制模式打开文件
t:文本模式打开
+:可读写模式(可添加到其他模式中使用)
U:通用换行符支持
文件对象的方法
close(): 关闭文件
read(size == -1): 从文件读取size个字符,当未给size或给负值的时候
,读取剩余的所有字符,然后作为字符串返回
readline():从文件中读取一整行字符串
write(str):将字符串str写入文件
writelines(seq):向文件写入字符串序列seq,seq应该是一个返回字符串
的可迭代对象
seek(offset,from):向文件中移动文件指针,从from(0代表文件起始位置
,1代表当前位置,2代表文件的末尾)偏移offset个字节
tell():返回当前在文件中的位置
异常处理
try-except
格式:
try:
检测范围
except Execption[as reason]
出现异常(Execption)后的处理代码
例子:
f= open('我为什么是一个文档.txt')
print(f.read())
f.close()
以上代码,'我为什么是一个文档.txt'这个文档不存在的时候,Python就会报错说明文档不存在:
现在这样用户体验不好,因此可以这样修改:
try:
f= open('我为什是一个文档.txt')
print(f.read())
f.close()
except OSError:
print("文件打开的过程中出现错误啦")
try-finally语句
如果"我是一个不存在的文档"确实存在,open()函数正常返回文件对象,单异常缺发生在成功打开文件后的sum = 1 + '1'语句上。此时python将直接跳出except语句,也就是说,文件打开了,但没有执行关闭文件的命令。
案例1
try:
f = open("我是一个不存在的文档.txt")
print(f.read())
sum = 1 + '1'
f.close()
except:
print("出错啦")
为了实现这种"就是出现异常,但也不得不执行的收尾工作(比如在程序崩溃前保存用户文档)",引入finally来扩展try:
实现的代码:
try:
f = open("我是一个不存在的文档.txt")
print(f.read())
sum = 1 + '1'
except:
print("出错啦")
finally:
f.close()
tyr: else 语句
例子:
try:
int('abc')
except ValueError as reason:
print("出错了" + str(reason))
else:
print("没有任何异常")
简介的with语句
有的感觉打开文件又要关闭文件,还要关注异常处理的烦人,所以Python提供了一个with语句,利用这个语句抽象出文件对象中频繁使用try/except/finally相关的细节。对文件操作使用with语句,大大减少代码。不用担心文件的关闭会自动帮你关闭。
案例1:
try:
f =open("data.txt","w")
for each_line in f:
print(each_line)
except OSError as reasion:
print("出错啦" + str(reasion))
finally:
f.close()
使用with案例
try:
with open('data.txt','w')
foreach each_line in f:
print(each_line)
except OSError as reasion:
print("出错啦" + str(reasion))