建商城网站公司,宝安各大网站制作比较好的,哪有网站建设的,碧桂园事件全过程一、了解异常
异常的概念
什么是异常
当检测到一个错误时#xff0c;Python解释器就无法继续执行了#xff0c;反而出现了一些错误的提示#xff0c;这就是所谓的“异常”#xff0c;也就是我们常说的BUG。 二、异常的捕获
1.知道为什么要捕获异常
世界上没有完美的程…一、了解异常
异常的概念
什么是异常
当检测到一个错误时Python解释器就无法继续执行了反而出现了一些错误的提示这就是所谓的“异常”也就是我们常说的BUG。 二、异常的捕获
1.知道为什么要捕获异常
世界上没有完美的程序任何程序在运行的过程中都有可能出现异常也就是bug导致程序无法完美的运行下去。
我们要做的不是力求程序完美运行。
而是在力所能及的范围内对可能出现的bug进行提前准备提前处理。
这种行为我盟称之为异常处理捕获异常
当我们的程序遇到了BUG那么接下来有两种情况
1.整个程序因为一个BUG停止运行
2.对BUG进行提醒整个程序继续运行
显然在之前的学习中我们所有的程序遇到BUG就会出现1的这种情况也就是整个程序直接奔溃
但是在真实工作中我们肯定不能因为一个小的BUG就让整个程序全部崩溃也就是我们希望达到的是2的这种情况那这里我们就需要使用到捕获异常
捕获异常的作用在于提前假设摸处会出现异常做好提前准备当真的出现异常的时候可以有后续手段 2.掌握异常的语法格式
基本语法
try:可能发生错误的代码
except如果出现异常执行的代码快速入门
需求尝试以‘r’模式打开文件如果文件不存在则以‘w’方式打开
try:f open(linux.txt,r)
except:f open(linux.txt,w)
捕获指定异常
基本语法
try:print(name)
except NameError as e:print(name变量名称未定义错误) 1.如果尝试执行的代码的异常类型和要捕获的异常类型不一致则无法捕获异常
2.一般try下方只放一行尝试执行的代码
捕获多个异常
当捕获多个异常是可以要捕获的异常类型的名字放到except后,并使用元组的方式进行书写
tryprint(1/0)
except(NameError,ZeroDivisionError):print(ZeroDivision错误。。。。) 执行结果 异常else
else表示的是如果没有异常要执行的代码
try:print(1)
except Exception as a:print(e)
elseprint(我是else是没有异常的时候执行的代码) finally表示的是无论是否异常都要执行的代码例如关闭文件
try:f open(test.txt,r)
except Exception as e:f open(test.txt,w)
else:print(没有异常真开心)
finallyf.close 总结演示
演示异常捕获# 基本捕获语法
try:f open(D:/abc.txt,r,encodingUTF-8)
except:print(出现异常了因为文件不存在我将open的模式改为w模式打开)f open(D:/abc.txt,w,encodingUTF-8)# 捕获指定的异常
try:print(name)# 1 / 0
except NameError as e:print(出现了变量未定义的异常)print(e)# 捕获多个异常
try:1 / 0print(name)
except (NameError,ZeroDivisionError) as e:print(出现了变量未定义 或者 除以0的异常错误)# 未正确设置捕获异常类型将无法捕获异常# 捕获所有异常
try:f open(D:/123.txt,r)
except Exception as e:print(出现异常了)f open(D:/123.txt,w,encodingUTF-8)
else:print(好高兴没有异常)
finally:print(我是finally有没有异常我都要执行)f.close()
三、异常的传递
异常是具有传递性的
当函数func01中发生异常并且没有捕获处理这个异常的时候异常会传递到函数func02,当func也没有捕获处理这个异常的时候main函数会捕获这个异常这就是异常的传递性
提示
当所有函数都没有捕获异常的时候程序就会报错
# 定义一个无异常的方法调用上面的方法def func2():print(func2 开始执行)func1()print(func2 结束执行)
# 定义一个方法调用上面的方法def main():try:func2()except Exception as e:print(f出现异常了异常的信息是{e})
main() 四、Python模块
1.模块的导入
了解什么是模块
python模块Module是一个Python文件以.py结尾。模块能定义函数类和变量模块里也能包含可执行的代码。
模块的作用python中有很多各种不同的模块每一个模块都可以帮助我们快速实现一些功能比如实现和时间相关的功能就可以使用time模块我们可以认为一个模块就是一个工具包每一个工具包中都有各种不同的工具供我们使用进而实现各种不同的功能
大白话模块就是一个Python文件里面有类、函数、变量等我可以拿过来用导入模块去使用
掌握导入Python内置的模块
模块在使用前需要先导入 导入的语法如下 演示Pyhton的模块导入# 使用import导入time模块使用sleep功能函数
import time # 导入Python内置的time模块time.py这个代码文件
print(你好)
time.sleep(5) # 通过。就可以使用模块内部的全部功能类、函数、变量
print(我好)# 使用from导入time的sleep功能函数
from time import sleep # *表示全部的意思
print(你好)
sleep(5)
print(我好)# 使用 * 导入time模块的全部功能
from time import *
print(你好)
sleep(5)
print(我好)
# 使用as给特定功能加上别名
import time as t
print(你好)
t.sleep(5)
print(我好)from time import sleep as sl 2.自定义模块
制作自定义模块
Python中已经帮我们实现了很多的模块不过有时候我们需要一些个性化的模块这里就可以通过自定义模块实现也就是自己制作一个模块
案例新建一个Python文件命名为my_modulel.py并定义test函数
注意
每个Python文件都可以作为一个模块自定义模块的名字必须符合规范
_all_
如果一个模块文件中有_all_变量当使用from xxx import * 导入时只能导入这个列表中的元素 演示自定义模块# 导入自定义模块使用
import my_module1
from my_module1 import test
test(1,2)
my_module1.test(1, 2)# 导入不同模块的同名功能
from my_module1 import test
from my_module2 import test
test(1,2)# __main__变量
from my_module1 import test# __all__变量
from my_module1 import *
__all__ [test_2]def test_2(a,b):print(a - b)def test_1(a, b):print(a - b)
五、Python包
1.自定义包
什么是python包
从物理上看包就是一个文件夹在该文件夹下包含了一个_init_.py文件该文件夹可用于包含多个模块文件从逻辑上看包的本质依然是模块 包的作用
当我们的模块文件越来越多时包可以帮助我们管理这些模块包的作用就是包含 多个模块但报的本质依然是模块
2.安装第三方包