Python-06:异常、模块、包
创始人
2025-05-30 14:01:15

文章目录

  • 一、异常
    • 1.1 异常的概念
    • 1.2 捕获异常的语法
    • 1.3 代码演示
    • 1.4 异常的传递性
  • 二、模块
    • 2.1 什么是模块
    • 2.2 基本语法
    • 2.3 具体例子
    • 2.4 自定义模块
    • 2.5 name 变量和 all 变量
  • 三、Python包
    • 3.1 什么是包
    • 3.2 自定义包
    • 3.3 包的导入
    • 3.4 安装第三方包
      • 3.4.1 pip命令安装
      • 3.4.2 pycharm安装

一、异常

1.1 异常的概念

在这里插入图片描述

1.2 捕获异常的语法

try:可能会发生异常的代码...
except[异常的类名 as 别名]:出现异常执行的代码...
[else:]未出现异常执行的代码...
[finally:]一定会执行的代码...

1.3 代码演示

# 1、基本异常捕获(捕获所有)
try:print(name)
except:print("出现异常了")# 2、捕获指定异常
try:1 / 0
except ZeroDivisionError as e:print("出现了除0异常")print(f"异常信息是{e}")# 3、捕获多个指定异常
try:1 / 0print(name)
except (ZeroDivisionError, NameError) as e:print("出现了除0异常或者名字异常")# 4、捕获全部异常(推荐这种做法,不推荐第一种)
try:print(name)
except Exception as e:print("出现异常了")# 5、全家桶
try:print(name)
except Exception as e:print("出现异常了")
else:print("没有出现异常,好开心")
finally:print("我始终执行一次")

注意:别名e种存储了报错信息

1.4 异常的传递性

异常是可以在函数之间进行传递的,只要函数之间有调用关系

def fun1():print("fun1开始...")1 / 0print("fun1结束")def fun2():print("fun2开始...")fun1()print("fun2结束")def main():fun2()main()
# 调用会报错
fun2开始...
fun1开始...
Traceback (most recent call last):File "D:\SoftwareDonwloadIntsall\ComputerRelated\PyCharm\heima-learning\day03\01.数据容器.py", line 64, in main()File "D:\SoftwareDonwloadIntsall\ComputerRelated\PyCharm\heima-learning\day03\01.数据容器.py", line 62, in mainfun2()File "D:\SoftwareDonwloadIntsall\ComputerRelated\PyCharm\heima-learning\day03\01.数据容器.py", line 57, in fun2fun1()File "D:\SoftwareDonwloadIntsall\ComputerRelated\PyCharm\heima-learning\day03\01.数据容器.py", line 51, in fun11 / 0
ZeroDivisionError: division by zero进程已结束,退出代码1

我们可以直接在main函数里面处理异常,无需在异常的源头处理

二、模块

2.1 什么是模块

在这里插入图片描述

2.2 基本语法

[from 模块名] import [模块 | 类 | 变量 | 函数 | *] [as 别名]

2.3 具体例子

# 1、导入整个模块
import time
time.sleep(1)# 2、导入模块的一个或多个函数,as是取别名
from time import sleep as s, time as t
s(1)
# 取别名后只能用别名# 3、导入模块的所有对象
from time import *
sleep(1)
# 不能用time.sleep(1)

2.4 自定义模块

自己写一个.py文件,在同一个工程的另一个文件导入即可

2.5 name 变量和 all 变量

if __name__ == '__main__':测试代码...

这个变量在本文件运行是__main__,但是被导入时就不是了所以经常用于测试代码

__all__ = ["模块名1,", "模块名2",......]

这个变量只作用于在导入模块时使用*号的时候,也就是导入的*号其实就是里面写的变量,写了 * 就有,没写 * 就没有

三、Python包

3.1 什么是包

在这里插入图片描述

3.2 自定义包

直接在Python工具里面新建包即可,标志就是__init__.py这个文件,有它就是包,没有就是文件夹,这个文件也可以自己创建

3.3 包的导入

# 1、导入包里指定模块
import my_package.my_module1
my_package.my_module1._print()# 2、导入包里的所有模块
from my_package import *
my_module1.my_print()
my_module2.my_print()
不能以 mypackage.my_module2.my_print() 的形式访问# 3、导入模块中的某个方法
from my_package.my_module2 import my_print
my_print()
# 只能以这种形式访问

注意: all = [] 这个变量是写到__init__.py这个文件里的

3.4 安装第三方包

3.4.1 pip命令安装

# 使用的默认网站(外国的)
pip install 包名
# 指定清华源
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 包名

3.4.2 pycharm安装

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

相关内容

热门资讯

Gradio-Learning Gradio-Learning 文章目录Gradio-LearningInterface函数-展示单...
计算机共有几个等级证书,计算机... 计算机共有几个等级证书目录计算机共有几个等级证书计算机等级考试证书等级说明计算机有几个证书?计算机等...
举世闻名的近义词是什么,举世闻... 举世闻名的近义词是什么目录举世闻名的近义词是什么举世闻名的近义词是什么.举世闻名的近义词有哪些。举世...
杭州5号线运营时间,杭州地铁运... 杭州5号线运营时间目录杭州5号线运营时间杭州地铁运营时间2023最新地铁早上几点开杭州杭州5号线地铁...
广西十三鹰有多少兄弟 极速百科... 广西十三鹰有多少兄弟目录广西十三鹰有多少兄弟广西十三鹰有多少兄弟广西河池巴马那桃新组成的社团、新一代...
读《大话并发》记录 线程和进程 我理解的进程就是处于运行状态的应用程序,例如:qq是一个应用...
法线贴图的计算方式 大家好,我是阿赵。 之前介绍了光照模型相关的一些知识,包括了MatCap...
微前端(无界) 前言:微前端已经是一个非常成熟的领域了,但开发者不管采用哪个现有方案&#...
Mybatis的课程总结  1.mybatis Mybatis主要是对代码进行少写,分别加入核心配置文件和ma...
北京八维学校是属于什么性质的,... 北京八维学校是属于什么性质的目录北京八维学校是属于什么性质的八维学校是一所怎样的学校?北京八维研修学...
atm奴是什么,ATM奴是什么... atm奴是什么目录atm奴是什么ATM奴是什么意思atm奴给的钱会追回吗atm奴是什么 ATM...
肇庆通报交警队长儿子酒驾逃逸并... 本篇文章极速百科给大家谈谈肇庆通报交警队长儿子酒驾逃逸并指使他人作伪证:其...,以及肇庆交警大队队...
瓢虫吃什么食物(七星瓢虫吃什么... 本篇文章极速百科给大家谈谈瓢虫吃什么食物,以及七星瓢虫吃什么食物对应的知识点,希望对各位有所帮助,不...
学习笔记-架构的演进之服务网格... 文章目录前言通信的成本第一阶段第二阶段第三阶段第四阶段第五阶段总结附 前言 Kubernetes 为...
传输层之TCP协议 传输层协议 端到端之间的传输,重点关注的是起点和终点。 TCP协议报文格式 源...
晶锐怎么样-车主点评-真实评价... 今天给各位分享晶锐怎么样-车主点评-真实评价-口碑的知识,其中也会对晶锐车型进行解释,如果能碰巧解决...
2022十大最省油的车排行榜,... 今天给各位分享2022十大最省油的车排行榜,家用油耗最低的车排行榜的知识,其中也会对最省油的家轿车排...
20岁生日说说经典句,二十岁生... 20岁生日说说经典句目录20岁生日说说经典句二十岁生日文案高级 20岁生日成熟点的说说20岁的生日适...
战时管制是什么(战时军事管制)... 本篇文章极速百科给大家谈谈战时管制是什么,以及战时军事管制对应的知识点,希望对各位有所帮助,不要忘了...
Vue组件基础 1,单文件组件Vue单文件组件(又名.vue 简称SFC)...
【Django 网页Web开发... 目录1. 安装第三方模块2. ORM2.1 自己手动创建数据库2.2 django连接数据库2.3 ...
皮燕子是什么(皮燕子是什么动物... 本篇文章极速百科给大家谈谈皮燕子是什么,以及皮燕子是什么动物对应的知识点,希望对各位有所帮助,不要忘...
塑胶跑道的主要材料(塑胶跑道材... 今天给各位分享塑胶跑道的主要材料的知识,其中也会对塑胶跑道材料是由什么组成的进行解释,如果能碰巧解决...
夜天之书 #76 远程工作、开... 上周末在给 Apache Ratis 的代码库上 Maven Wrapper 的时候,...
于加一笔变新字是什么(于加一笔... 本篇文章极速百科给大家谈谈于加一笔变新字是什么,以及于加一笔变一个字对应的知识点,希望对各位有所帮助...
C++ Primer第五版_第... 文章目录练习4.11练习4.12练习4.13练习4.14练习4.15练习4.16练习4.17练习4....
【数据结构】千字深入浅出讲解队... 🚀write in front🚀 📝个人主页...
电子拣货标签3代系统简介 CK_Label_v3 一、产品参数  1. 电池供电版 产品型号 CK_Label_v3 尺...
2023新车上牌费用是多少?上... 今天给各位分享2023新车上牌费用是多少?上牌照需要多少钱的知识,其中也会对2022年上牌进行解释,...
荣事达竟然是美的集团旗下品牌?... 今天给各位分享荣事达竟然是美的集团旗下品牌?!的知识,其中也会对荣事达美的合并了吗进行解释,如果能碰...