当前位置: 首页 > 后端技术 > Python

7.Python异常、模块和包

时间:2023-03-25 20:35:40 Python

Python异常、模块和包Tips:本文整理链接指南基于b站黑马python类=>2022新版黑马程序员python教程1.异常1.1理解异常的概念什么是异常:当检测到错误时,Python解释器无法继续执行,而是出现一些错误提示。这就是所谓的“异常”,也就是我们常说的BUG异常演示。例如:打开一个不存在的文件。f=open('linux.txt','r')执行结果:1.2异常捕获方法捕获异常的作用是提前假设某处会发生异常,提前做好准备。当确实发生异常时,您可以进行跟进。1.2.1捕获一般异常基本语法:try:可能导致错误的代码except:发生异常时执行的代码快速启动要求:尝试以r模式打开文件,如果文件不存在,则以r模式打开w模式。try:f=open('linux.txt','r')except:f=open('linux.txt','w')1.2.2捕获指定的异常注意:①如果你的代码异常类型正在尝试执行,如果要捕获的异常类型不一致,则无法捕获异常。②一般在try下面只放一行try来执行的代码。基本语法:try:print(name)exceptNameErrorase:print('name变量名未定义错误')1.2.3捕获多个异常捕获多个异常时,可以把要捕获的异常类型的名称放在到达后除了,写成元组的形式。try:print(1/0)except(NameError,ZeroDivisionError):print('ZeroDivisionerror...')执行结果:1.2.4捕获异常并输出描述信息基本语法:try:print(num)except(NameError,ZeroDivisionError)ase:print(e)执行结果:1.2.5捕获所有异常基本语法:try:print(name)exceptExceptionase:print(e)执行结果:1.2.6Exceptionelseelse表示如果没有异常要执行的代码。try:print(1)exceptExceptionase:print(e)else:print('我是else,无异常时执行的代码')执行结果:1.2.7异常的finallyfinally表示是否异常或不执行代码,例如关闭文件。尝试:f=open('test.txt','r')exceptExceptionase:f=open('test.txt','w')else:print('noexception,reallyhappy')finally:f.close()1.3异常的传递是传递性的。当函数func01发生异常,没有捕获并处理该异常时,会将该异常传递给函数func02。当func02没有捕获并处理异常时,main函数会Catch这个异常,这就是异常的传递性。提示:当所有函数都没有捕获异常时,程序会报错2.Python模块2.1模块导入2.1.1什么是模块Python模块(Module),是一个以.py结尾的Python文件。模块可以定义函数、类和变量,模块还可以包含可执行代码。模块的作用:python中有很多不同的模块,每个模块都可以帮助我们快速实现一些功能,比如time模块可以用来实现与时间相关的功能。我们可以把模块想象成一个工具包,每个工具包都有各种工具供我们使用,实现各种功能。2.1.2模块导入方式模块在使用前需要导入。导入语法如下:常见的组合形式如:导入模块名基本语法:导入模块名导入模块名1,模块名2模块名。functionname()case:Importtimemodule#importtimemoduleimporttimeprint("start")#让程序休眠1秒(阻塞)time.sleep(1)print("end")frommodulenameimportclasses,变量、方法等基本语法frommodulenameimportfunctionnamefunctionname()case:importtime模块中的sleep方法#importtime模块中的sleep方法fromtimeimportsleepprint("start")#让程序sleepfor1second(blocking)sleep(1)print("End")frommodulenameimportbasicsyntaxfrommodulenameimport*functionname()case:importallmethodsintime模块#importallmethodsintimemodulefromtimeimport*print("Start")#让程序休眠1秒(阻塞)sleep(1)print("End")importmodulenameasaliasbasicsyntax#模块定义别名importmodulenameasaliascase:importallin时间模块方法#模块别名importtimeastttt.sleep(2)print('hello')frommodulenameimportfunctionnameasaliasbasicsyntax#functiondefinitionaliasfrommodulenameimportfunctionasaliascase:importallinthetimemodule方法#Functionalaliasfromtimeimportsleepasslsl(2)print('hello')2.2自定义模块注意:每个Python文件都可以作为一个模块,模块的名字就是文件的名字。也就是说,一个自定义的模块名称必须符合标识符命名规则案例:新建一个Python文件,命名为my_module1.py,并定义测试函数2.2.1测试模块__main__deftest(a,b):print(a+b)#仅在当前文件中如果在其他不满足此条件的导入文件中调用该函数,则不会执行测试函数调用if__name__=='__main__':test(1,1)注:导入多个模块时,存在同名的Function。调用同名函数时,会调用后面引入的模块的函数。2.2.2__all__如果模块文件中有__all__变量,使用fromxxximport*导入时,列表中只有这个元素3.Python包3.1自定义包什么是Python包从物理角度来说,一个package是一个文件夹,里面包含一个__init__.py文件,可以用来包含多个模块从逻辑上看,包的本质还是模块包的作用:当我们的模块文件越来越多的时候,包可以帮助我们管理这些模块。包的作用是包含多个模块,但包的本质还是模块3.1.1快速启动步骤如下:新建一个包my_package,并在包中新建一个模块:my_module1和my_module2模块如下Pycharm中的基本步骤:[New]=>[PythonPackage]=>;输入包名=>[OK]=>创建一个新的功能模块(connectedmodule)注意:创建新包后,包内会自动创建__init__.py文件,该文件控制包的导入行为package3.1.2导入包方法一:导入包名。模块名称包名称。模块名称。目标方法二:注意:__all__=[]必须添加到__init__.py文件中以控制允许导入的模块列表frompackagenameimport*modulename。目标3.2安装第三方包在Python程序的生态中,有很多第三方包(非Python官方),可以极大的帮助我们提高开发效率,比如:科学计算中常用的:numpy包数据分析常用:pandas包大数据计算常用:pyspark、apache-flink包图形可视化常用:matplotlib、pyecharts人工智能常用:tensorflow等3.2.1安装第三方包——pip第三方包安装非常简单,我们只需要使用Python内置的pip程序作为命令提示符程序,输入:pipinstall包名即可通过网络快速安装第三方包。我们可以使用如下命令连接国内网站安装包:pipinstall-ihttps://pypi.tuna.tsinghua.edu.cn/simple包名3.2.2安装第三方包-PyCharm总结以上是python异常、模块和包,以后会持续更新。欢迎大家点赞关注呀~~