网站建设与管理策划书,四级作文模板万能,郑州经济技术开发区建设局,推广普通话喜迎二十大的手抄报简单文章目录一、异常处理1、try...except语句2、finally语句二、断言1、定义2、举例例一#xff1a;例二#xff1a;三、文件操作1、写文件操作2、读文件操作学习目标#xff1a;1、掌握异常处理的方法2、掌握断言的使用3、掌握打开文件、读文件和写文件的方法一、异常处理
引…
文章目录一、异常处理1、try...except语句2、finally语句二、断言1、定义2、举例例一例二三、文件操作1、写文件操作2、读文件操作学习目标1、掌握异常处理的方法2、掌握断言的使用3、掌握打开文件、读文件和写文件的方法一、异常处理
引言我们在java中也学过相关异常处理机制那这里的异常处理与Java是否相同呢 python语言编写代码时会出现三种错误——语法错误、语义错误和运行时错误。那我们对这些错误有何应对措施
答我们先要知道何为异常异常就是运行过程中可能会出现导致代码不正常运行的问题。对此我们需要先要捕捉异常即为先找到异常在哪里之后如果再次运行到异常时应该做出什么响应。
有些人可能会有疑惑既然知道有异常那么为什么不一开始就解决。当我们写就几十行代码时候还好发现错误那如果我们写几百行或者上千行时候如果此时运行错误是很难发现的并且一出现异常我们整个代码就会断掉如果引入处理机制那么程序则会正常运行。 那么异常处理机制就是给出错误提示并且提出修改建议的机制。
1、try…except语句
1格式
try:语句块1 #这里写可能出错的代码
except异常: #这里的异常可写可不写语句块2 #如果遇到该异常时候给出提示
2实例 大家看上面的代码我的vscode软件并未识别到错误现在来运行一下。 这里出现了分母为0的运算出现了 ZeroDivisionError异常那么如何改动让我们知道这里出错了呢。
修改 那么此时就达到我们想要的结果既能正常运行又能报错 3多异常 如果出现多个异常应该如何我们约定在出现多个异常时候则需要用异常名来区分 看代码
list[2,1,0,4]
a4
for i in range(5):try:ba/list[i] #这里除数可能会出现错误print (b)except ZeroDivisionError:print(第{}个位置出现了error!.format(i))except IndexError:print(已超出列表范围)2、finally语句
我们还需要考虑一种情况当try中语句没有正常执行完毕时那么可能会导致其他错误因而还要给异常机制加一个善后功能使用finally语句无论前面执行怎么样最后一定要走finally语句。finally语句包含的代码块通常是用来释放try语句块所占用的各类计算机资源防止资源耗尽导致整个计算机系统崩溃。 来看代码
list[2,1,0,4]
a4
for i in range(4):try:ba/list[i] #这里除数可能会出现错误print (b)except ZeroDivisionError:print(第{}个位置出现了error!.format(i))finally:print(%d times%i)二、断言
1、定义
1书中我们不知道程序会在哪里出错与其让他运行时候崩溃不如在出现错误条件时就让他崩溃这时候就需要assert断言的帮助。
可能不是很好理解我是这么理解的assert断言是相当于“及时止损”的作用这里的assert断言就相当于代码的“朋友”代码犯了错误作为“朋友”的assert断言就要阻止他不要让代码再“执迷下去”。
2规则如果断言成功即为无错时则不采取任何措施否则就触发AssertionError断言错误的异常。
2、举例
例一 例二
list[2,1,0,4]
a4
assert len(list)5 #这里来判断list的长度是否大于等于5符合就继续执行
for i in range(5):try:ba/list[i] #这里除数可能会出现错误print (b)except ZeroDivisionError:print(第{}个位置出现了error!.format(i))finally:print(%d times%i)三、文件操作
一个完整的文件操作步骤为
打开文件读文件或写文件关闭文件 注意我们来写一个文件路径时通常用“ / ”来隔开 如C/list/list1 因为python中转义字符是用“\”来定义这样可以区分两者避免歧义性。
1、写文件操作
1a:
# 写文件操作
wFileopen(E:/demo1.txt,w)
wFile.write(a\n)
wFile.write(b\n)
wFile.close()b
# 写文件操作
wFileopen(E:/demo1.txt,w)
wFile.write(a)
wFile.write(b)
wFile.close()总结1我们通过这两个代码了解到了两个性质 1、写文件操作不会跳行必须加入“\n”。 2、第一个写的文件如果再次写的时候会对第一个的文件内容就像覆盖即为每次写的文件都不同。
2那么我们应该如何写代码才能再前面的文件内容继续写呢 这时候就引入了append我们以a的方式打开即为追加。 注意以a来打开文件时候如果没有此文件则会自动创建该文件。
# 写文件操作
wFileopen(E:/demo1.txt,a)
wFile.write(c)
wFile.write(d)
wFile.close()2、读文件操作
1用read函数是读取全部
# 读文件操作
rfileopen(E:/demo1.txt,r)
textrfile.read()
rfile.close()
print(text) 2用readline是读取行
# 读文件操作
rfileopen(E:/demo1.txt,r)
line1rfile.readline()
line2rfile.readline()
rfile.close()
print(line1)
print(line2) 调用一次就列出第一行调用2次则列出前两行以此类推。 3用readlines调用所有行
注意读取行时默认为跳行来输出如果不需要跳行则要调用replace来输出
# 读文件操作
rfileopen(E:/demo1.txt,r)
line2rfile.readlines()
print(line2)
for lines in line2:lineslines.replace(\n,)print(lines)总结对于一个文件要有open与close不能光开不关这样子会导致下次运行时候出错。