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 介绍 在当今高度并发的数据库环境中,有效的并发控…

Element中的el-table中如何获取每一行的id

只需要用<template slot-scope"scope"></template >标签包裹起来即可 使用scope.row.列名&#xff0c;的方式获取当前行对应列的值 可以通过使用作用域插槽的方式获取每一行的id。以下是一个示例代码&#xff1a; <el-table-column prop"statu…

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

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

Redis 高可用之主从复制

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

C语言联合体(Union)在实战中的使用技巧

联合体&#xff08;Union&#xff09;是一种特殊的数据结构&#xff0c;允许在同一内存位置存储不同的数据类型。联合体在实战中可以用于一些特定的场景&#xff0c;具有一些使用技巧&#xff0c;以下是一些常见的实战中使用技巧&#xff1a; 1.节省内存空间&#xff1a; 联合…

如何优雅的使用 if else

作为一个程序员在开发中 if else 判断在代码中是必不可少的&#xff0c;但是 if else 判断使用多了嵌套多了不利于代码维护&#xff0c;看起来也头疼难以理解&#xff0c;接下来以为大家介绍一下我是怎么避免过多冗余的 if else 嵌套的。 0. 嵌套的if语句的典型用例 在最终执…

StableDiffusion新版汉化

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

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

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

Thin-LUN使用vdbench测试性能如何预埋数据

一、功能需求 Thin-LUN性能测试过程中&#xff0c;由于刚创建的THIN-LUN需要预埋数据&#xff0c;才能准确测试出实际性能&#xff0c;所以在第一次性能测试之前&#xff0c;需要使用vdbench预埋数据 二、组网图 无 三、配置步骤 seekpcteof 测试性能时&#xff0c;如果读…

GAMES101-Assignment8

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

洛谷P3392 涂国旗-----暴力美学的演绎

# 涂国旗 ## 题目描述 某国法律规定&#xff0c;只要一个由 $N \times M$ 个小方块组成的旗帜符合如下规则&#xff0c;就是合法的国旗。&#xff08;毛熊&#xff1a;阿嚏——&#xff09; - 从最上方若干行&#xff08;至少一行&#xff09;的格子全部是白色的&#xff1b…

【论文阅读】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…

CGAL 网格连通聚类

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 这里的思路其实与点云的欧式聚类非常类似,区别在于点云的欧式聚类是通过搜索半径对点云进行聚类,至于基于连通性网格面片聚类则是通过面片的邻近关系对面片进行聚类,大致的过程与欧式聚类是相同的: 首先,需要指…

Rustdesk 中VP8 / VP9 / AV1 是什么?

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

011 变量

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

Oracle 19c RAC集群管理 ---------关键参数以及常用命令

Oracle 19c RAC集群管理 ---------关键参数 Oracle 19C RAC 参数最佳实践 --开启强制归档 ALTER DATABASE FORCE LOGGING; --设置 30分钟 强制归档 ALTER SYSTEM SET ARCHIVE_LAG_TARGET1800 SCOPEBOTH SID*; --设置期望undo保持时间3h ALTER SYSTEM SET UNDO_RETENTION21600…

系统学习Python——警告信息的控制模块warnings:常用函数-[warnings.simplefilter]

分类目录&#xff1a;《系统学习Python》总目录 函数 warnings.simplefilter(action, categoryWarning, lineno0, appendFalse)在警告过滤器种类列表中插入一条简单数据项。函数参数的含义与filterwarnings()相同&#xff0c;但不需要正则表达式&#xff0c;因为插入的过滤器总…

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

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