「关注我,和我一起放下灵魂,让灵魂去搬砖。」
Python异常
Python版本3.8.0,开发工具:Pycharm
Python异常
调试Python程序时,经常会报出一些异常,异常的原因一方面可能是写程序时由于疏忽或者考虑不全造成了错误,这时就需要根据异常Traceback到出错点,进行分析改正;另一方面,有些异常是不可避免的,但我们可以对异常进行捕获处理,防止程序终止。
Python异常:运行期检测到的错误被称为异常。
# 异常处理
try:
statement_try
except Exception:
statement_error
finally:
statement_finally
1. 首先,执行try子句statement_try(在关键字try和关键字except之间的语句)
2. 如果没有异常发生,忽略except子句,try子句执行结束。
3. 如果在执行try子句的过程中发生了异常,那么try子句余下的部分将被忽略。
4. 如果一个异常没有与任何的except匹配,那么这个异常将会传递给上层的try中。
5. 无论 try 子句里面有没有发生异常,finally 子句都会执行。
注:
- 一个 try 语句可能包含多个except子句
- 一个except子句可以同时处理多个异常
# 在多个except子句中捕捉除0异常
try:
print(10 * (1/0))
except ZeroDivisionError as e:
print(e)
except NameError as e:
print(e)
except TypeError as e:
print(e)
finally:
print("finally block")
# 输出
division by zero
finally block
Python 使用 raise 语句抛出一个指定的异常
# 使用raise抛出指定异常
try:
raise NameError('This is error Name')
except NameError:
print('An exception flew by!')
# 输出
An exception flew by!
Python断言
Python assert(断言)用于判断一个表达式,在表达式条件为 false 的时候触发异常。
# assert语法格式如下
assert expression
# 等价于
if not expression:
raise AssertionError
# 条件为 true 正常执行
assert 1==1
# 条件为 false 触发异常AssertionError
assert 1==2
当然,如果你的程序写的足够优秀,健壮性足够好,可以不用考虑异常处理,但是,你可以吗?
异常处理属于入门教程的最后一节,到此,入门教程也算是更完了。
其实可以看出,要是想了解入门Python,入门教程足够了,但是,要想用作Python做数据分析,却远远不够。
就像给你一个100万行的文件,你会用for循环去逐行读取再去操作吗?可能等你for循环还没结束,你的同事已经用excel 做好结果了。
下节将介绍Python进阶教程部分
Python系列
Python系列会持续更新,从基础入门到进阶技巧,从编程语法到项目实战。若您在阅读的过程中发现文章存在错误,烦请指正,非常感谢;若您在阅读的过程中能有所收获,欢迎一起分享交流。
如果你也想和我一起学习Python,可以关注我的微信公众号
学习Python,我们不只是说说而已