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.hqwc.cn/news/422941.html

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

相关文章

Unity编程#region..#endregion以及面板提示语标签[Tooltip(““)]

C#中的#region..#endregion 在Unity中,#region和#endregion是用于代码折叠的预处理指令。它们并不是Unity特有的,而是C#语言本身提供的功能。 #region用于标记一段代码的开始,而#endregion用于标记一段代码的结束。在编辑器中,可…

JVM的组成部分(类加载器、运行时数据区、执行引擎、本地库接口)

目录 JVM作用 JVM构成 1.类加载器 类加载子系统: 类加载器的分类: 双亲委派机制: 2.运行时数据区 程序计数器 虚拟机栈 本地方法栈 堆 方法区 3.执行引擎 4.本地库接口 JVM作用 jvm是将字节码文件加载到虚拟机中,…

C++(Qt)软件调试---静态分析工具clang-tidy(18)

C(Qt)软件调试—静态分析工具clang-tidy(18) 文章目录 C(Qt)软件调试---静态分析工具clang-tidy(18)1、概述2、clang-tidy基本用法3、目前已有检查项4、Qt Creator中安装clang-tidy5、Qt Creator中使用clang-tidy6、Clang-Tidy配置…

抖音跳个人微信,有哪些解决办法?

抖音作为一个备受欢迎的短视频平台,为品牌和个人提供了广泛的推广机会。要有效地吸引和引导用户到微信端,需要掌握一些关键的引流方法。以下是抖音引流到微信的几种方法和技巧: 1.创建优质内容:确保发布的视频内容独特、有趣并富有…

java数组ArrayList(存对象)

1、dade文件 package model;public class dade {private int id;private String name;public dade() {}public dade(int id, String name) {this.id id;this.name name;}public int getId() {return id;}public void setId(int id) {this.id id;}public String getName() {…

0基础如何使用全功能的Python测试框架?

如何使用pytest? 大纲 安装和简单使用 配置文件 断言 一. 第一步 —— 安装和简单使用 pytest是一个非常成熟的全功能的Python测试框架,主要特点有以下几点: • 1、简单灵活,容易上手,文档丰富; • 2、…

miniconda安装

Miniconda是一个小型版的Anaconda,它包含了一个包管理工具conda和Python。Miniconda适用于那些只需要管理Python包和环境,而不需要Anaconda中包含的大部分科学计算工具的用户。 Miniconda的安装过程相对简单。你可以从清华大学开源软件镜像站下载Minico…

Maven下载及安装,集成eclipse中,配置环境变量,创建maven项目等

这里写目录标题 Maven环境配置环境变量&#xff1a;eclipse中配置maveneclipse创建maven项目 Maven环境 解压 配置&#xff1a; 本地仓库的位置&#xff1a; <!-- 配置maven本地仓库 --> <!-- 目录可以提前创建&#xff0c;也可以后期生成 --><localReposito…

c语言-实现动态内存管理的库函数

文章目录 前言一、什么是动态内存分配&#xff1f;二、malloc()和free()2.1 malloc()介绍2.2 malloc()的使用2.3 free()介绍 三、calloc()3.1 calloc()介绍3.2 calloc()使用 四、realloc()4.1 realloc()介绍4.2 realloc()使用 总结 前言 本篇文章介绍c语言中实现动态内存管理的…

【Python从入门到进阶】47、Scrapy Shell的了解与应用

接上篇《46、58同城Scrapy项目案例介绍》 上一篇我们学习了58同城的Scrapy项目案例&#xff0c;并结合实际再次了项目结构以及代码逻辑的用法。本篇我们来学习Scrapy的一个终端命令行工具Scrapy Shell&#xff0c;并了解它是如何帮助我们更好的调试爬虫程序的。 一、Scrapy Sh…

MyBatis关联查询实战:一对一与一对多详细解析

MyBatis关联查询实战&#xff1a;一对一与一对多详细解析 MyBatis是一款强大的持久层框架&#xff0c;提供了多种方式来处理关联查询&#xff0c;其中包括一对一和一对多的情况。在本文中&#xff0c;我们将深入探讨这两种关联查询的实现方式&#xff0c;并通过具体的示例代码进…

poi-tl模板引擎根据树形结构输出word文档(文档模板)

最近在做一个需求&#xff0c;就是根据当前的树形结构&#xff0c;输出到word文档中。下面展示一下小demo 目录 1、输入&#xff1a; 2、输出&#xff1a;文档.docx 3、代码展示 4、测试结果 4.1、模板文档内容 4.2、输出文档 5、总结 1、输入&#xff1a; root---树节…