Python基础第八篇(Python异常处理,模块与包)

文章目录

  • 一、了解异常
  • 二、捕获异常
    • (1).异常案例代码
    • (2).读出结果
  • 三、异常的传递
    • (1).异常传递案例代码
    • (2).读出结果
  • 四、Python模块
    • (1).模块的导入
      • (1).异常传递案例代码
      • (2).读出结果
    • (2).自定义模块
      • (1).异常传递案例代码
      • (2).读出结果
  • 五、Python包
    • (1).自定义包
    • (2).安装第三方包
      • (1).方法一
      • (2).方法二
  • 六、Python异常处理,模块与包综合案例

在这篇博文中,我们将深入研究Python中异常处理、模块和包的使用。文章结构清晰,内容丰富,并详细地分析了Python的异常处理机制,充分解释了如何捕获和传递异常,以及提供了直观易懂的代码示例。然后,我们将介绍Python模块的概念和使用,无论是内置模块还是自定义模块,以及详细演示了如何导入和利用模块。紧接着,文章会带领读者一起学习如何自定义包和安装第三方包,最后,文章通过一组合并使用Python异常处理、模块和包的案例,使读者能够更好地理解和掌握这些知识。这是一篇适合初级到中级Python开发者阅读的文章,无论您是新手还是有经验的开发者,都能从中受益。

一、了解异常

在这里插入图片描述

二、捕获异常

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

(1).异常案例代码

代码如下(示例):

#捕获所有异常
try:f = open("E:/testss.txt", "r", encoding="utf-8")
except Exception as e:print("出现异常了")
# else:非异常
try:f = open("E:/testss.txt", "r", encoding="utf-8")
except Exception as e:print("出现异常了")
else:print("没有异常")
# finally:异常的finally
try:f = open("E:/testss.txt", "r", encoding="utf-8")
except Exception as e:print("出现异常了")
else:print("没有异常")
finally:f.close()

(2).读出结果

代码如下(示例):

出现了变量未定义的异常
出现了变量未定义 或者 除以0的异常错误
出现异常了
出现异常了
出现异常了

三、异常的传递

在这里插入图片描述

(1).异常传递案例代码

代码如下(示例):

# 定义一个出现异常的方法
def func1():print("func1开始执行")num = 1/0 #除以0肯定异常print("func1 结束执行")
# 定义一个无异常的方法,调用以上的方法
def func2():print("func2开始执行")func1()print("func2 结束执行")
# 定义一个方法,说明以上的方法
def main():try:func2()except Exception as e:print(f"出现了异常,异常的信息是:{e}")
main()

(2).读出结果

代码如下(示例):

func2开始执行
func1开始执行
出现了异常,异常的信息是:division by zero

四、Python模块

在这里插入图片描述

(1).模块的导入

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

(1).异常传递案例代码

代码如下(示例):

# 演示Python的模块导入
""""""
# 使用import导入time的sleep功能(函数)
import time  #导入Python内置的time模块(time.py这个代码文件)
print("Hello Woid")
time.sleep(5)  #暂停5print("Goodbye")# 使用from导入time的sleep功能(函数)
from time import sleep
print("你好")
time.sleep(5)  #暂停5print("我好")# 使用 * 导入time的全部功能(函数)
from time import *  # * 表示全部的意思
print("你好")
time.sleep(5)  #暂停5print("我好")# 使用 as 给特定的功能加上别名
import time as t
print("你好")
t.sleep(5)
print("我好")from  time import sleep as sl
print("你好")
t.sl(5)
print("我好")

(2).读出结果

代码如下(示例):

Hello Woid
Goodbye
你好
我好
你好
我好
你好
我好
你好
我好

(2).自定义模块

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

(1).异常传递案例代码

代码如下(示例):


# 演示Python的模块导入
""""""
# 导入自定义模块使用
from my_module1 import testprint(test(1, 2))# 导入不同模块的同名功能
from my_module1 import test
from my_module2 import test
print(test(1, 2))# ——main——安装
from my_module2 import test# ——all——安装
from my_module2 import *
print(test(1, 2))

(2).读出结果

代码如下(示例):

3
-1
-1

五、Python包

在这里插入图片描述

(1).自定义包

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

(2).安装第三方包

在这里插入图片描述

(1).方法一

在这里插入图片描述
在这里插入图片描述
检验是否安装成功
在这里插入图片描述

(2).方法二

在这里插入图片描述

六、Python异常处理,模块与包综合案例

在这里插入图片描述
file_util.py >代码如下(示例):

def print_file_info(file_path):f = open(file_path, "r", encoding="utf-8")print(f"读取全部字节的结果是:{f.read()}")
def append_to_file(file_name,data):f = open(file_name, "a", encoding="utf-8")f.write(f"\n{data}")
if __name__ == '__main__':print_file_info("E:\测试.txt")append_to_file("E:\测试.txt","写于2024年1月22日")

str_util.py >代码如下(示例):

def str_reverse(s):return s[::-1]
def substr(s,x,y):return s[x:y:]
if __name__ == '__main__':print(str_reverse("河南科技学院"))print(substr("Python是最简洁的编程语言", 6, 15))

file_util.py.读出结果

读取全部字节的结果是:欢迎来到我们的Python学习专栏。在这里,我们将一起探索Python这门强大、灵活、易于学习的编程语言。
Python已经成为数据科学、人工智能、网页开发等各种计算领域的首选语言,而且在事实上,无论你是初学者还是有经验的开发者,你都能从中找到乐趣和价值。
........写于2024122

str_util.py 读出结果

院学技科南河
是最简洁的编程语言

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/642541.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大模型+自动驾驶

论文:https://arxiv.org/pdf/2401.08045.pdf 大型基础模型的兴起,它们基于广泛的数据集进行训练,正在彻底改变人工智能领域的面貌。例如SAM、DALL-E2和GPT-4这样的模型通过提取复杂的模式,并在不同任务中有效地执行,从…

k8s使用ingress实现应用的灰度发布升级

v1是1.14.0版本nginx ,实操时候升级到v2是1.20.0版本nginx,来测试灰度发布实现过程 一、方案:使用ingress实现应用的灰度发布 1、服务端:正常版本v1,灰度升级版本v2 2、客户端:带有请求头versionv2标识的请求访问版…

【MySQL】一文总结MVCC多版本并发控制

目录 MVCC 介绍当前读和快照读当前读快照读 MVCC 原理解析隐式字段Undo Log版本链Read ViewRead View 可见性原则 RC 和 RR 下的 Read ViewRC 下的 Read ViewRR 下的 Read View小结RR 级别下能否防止幻读总结 MVCC 介绍 在当今高度并发的数据库环境中,有效的并发控…

超级管理员权限绕过windows登录windows命令

文章目录 一、设置超级管理员权限二、绕过windows登录界面三、windows命令 一、设置超级管理员权限 查看本机的用户列表:net user激活超级用户:net user administrator /active:yes为超级用户设置密码:net user administrator 123(password)…

Redis 高可用之主从复制

1、简介 在 Redis 中,主从复制就是多个节点进行数据同步,在这些节点中,有 Master 和 slave 两个角色,Master 以写为主,slave 以读为主,当 Master 数据变化的时候,会自动将新的数据同步到其他的 …

StableDiffusion新版汉化

新旧版不同,这里以新版为例,用的是带链接,可以更新的方法。 步骤: 1.找到这个位置,依次点击,注意选项。 2.点击加载,等待刷新。 ctrlF搜索 zh_CN Localization 右边点击install&#xff0c…

外包干了4个月,技术退步明显.......

先说一下自己的情况,大专生,18年通过校招进入武汉某软件公司,干了接近4年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落! 而我已经在一个企业干了四年的功能测…

GAMES101-Assignment8

一、总览 1.1 连接绳子的约束 在rope.cpp 中, 实现Rope 类的构造函数。这个构造函数应该可以创建一个 新的绳子(Rope) 对象,该对象从start 开始,end 结束,包含num_nodes 个节点。也就是如下图所示: 每个结点都有质量&#xff…

【论文阅读】Automated Runtime-Aware Scheduling for Multi-Tenant DNN Inference on GPU

该论文发布在 ICCAD’21 会议。该会议是EDA领域的顶级会议。 基本信息 AuthorHardwareProblemPerspectiveAlgorithm/StrategyImprovment/AchievementFuxun YuGPUResource under-utilization ContentionSW SchedulingOperator-level schedulingML-based scheduling auto-searc…

Rustdesk 中VP8 / VP9 / AV1 是什么?

环境: Rustdesk1.1.9 VP8 / VP9 / AV1 问题描述: VP8 / VP9 / AV1 是什么? 解决方案: 1.VP8、VP9和AV1是视频编解码器,用于压缩和解压缩视频数据。它们是由Google和Alliance for Open Media(AOM&#…

011 变量

变量的定义 注意事项 作用域 类变量:定义在类中的变量,类的整个生命周期内可用实例变量:定义在类中的变量,类的实例可以使用局部变量:定义在方法中的变量,仅在方法内可以使用 class Dog{// 类变量static …

机器学习 | 深入理解并掌握核心概念

在如今数字化时代的浪潮下,机器学习已经成为人工智能领域的璀璨明星。它像一面魔镜,赋予计算机系统学习和改进的能力,让机器能够从海量数据中提取规律、预测未来,甚至做出智能决策。本 专栏 将带您踏上机器学习的奇妙之旅&#xf…

题解:CF1920E. Counting Binary Strings

题解:CF1920E. Counting Binary Strings 题意简述 题目链接:Problem - E - Codeforces。 洛谷翻译:Counting Binary Strings - 洛谷。 思路解析 假设我们有一个01串str(设里面有z个“1”),我们要求它里…

【MySQL进阶】视图_存储过程_存储函数_触发器

文章目录 视图基本介绍视图操作视图创建视图查询视图修改视图删除 存储过程基本介绍基本操作存储语法变量IF语句参数传递CASEWHILEREPEATLOOP游标 存储函数触发器基本介绍基本操作 总结 视图 基本介绍 视图概念:视图是一种虚拟存在的数据表,这个虚拟的表…

透明拼接屏在汽车领域的应用

随着科技的进步,透明拼接屏作为一种新型的显示技术,在汽车领域的应用越来越广泛。尼伽小编将围绕透明拼接屏在汽车本身、4S店、展会、工厂等方面的应用进行深入探讨,并展望未来的设计方向。 一、透明拼接屏在汽车本身的应用 车窗显示&#x…

Python入门(一)

anaconda安装 官网:https://www.anaconda.com下载 jupyter lab 简介: 包含了Jupyter Notebook所有功能。 JupyterLab作为一种基于web的集成开发环境,你可以使用它编写notebook,操作终端,编辑markdown文本&#xf…

Linux中文件属性的获取(stat、chmod、Istat、fstat函数的使用)

修改文件权限 函数如下&#xff1a; chmod/fchmod函数用来修改文件的访问权限: #include <sys/stat.h> int chmod(const char *path, mode_t mode); int fchmod(int fd, mode_t mode); 成功时返回0&#xff1b;出错时返回EOF 注意&#xff1a;在vmware和windows共享的文…

NetSuite 文心一言(Ernie)的AI应用

有个故事&#xff0c;松下幸之助小时候所处的年代是明治维新之后&#xff0c;大量引用西洋技术的时期。当时大家对“电”能干什么事&#xff0c;充满好奇。“电能干什么&#xff1f;它能帮我们开门么&#xff1f;” 松下幸之助的爷爷对电不屑&#xff0c;于是就问他。松下幸之助…

【新闻感想】谈一下PandoraNext的覆灭(潘多拉Next-国内可访问的免费开放GPT共享站将于2024年1月30日关闭)

文章目录 悲报&#xff1a;TIME TO SAY GOODBYE&#xff01;PandoraNext&#xff01;PandoraNext作者言&#xff1a;你们赢了&#xff0c;但我却没有输我如何了解到PandoraNext的合照留念于是开始逆向&#xff01; 悲报&#xff1a;TIME TO SAY GOODBYE&#xff01;PandoraNext…

Java入门高频考查基础知识5(扎实技术基础应变一切变化-45题4.2万字参考答案)

技术变革裁员影响的因素&#xff1a; 自动化替代简单重复性工作&#xff1a;随着技术的发展&#xff0c;一些简单、重复性的编码任务可能被自动化工具或者机器学习算法取代。这可能导致一些岗位的需求减少或者消失&#xff0c;从而可能导致部分人员裁员。 技能更新要求&#x…