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

news2024/11/23 3:03:18

文章目录

  • 一、了解异常
  • 二、捕获异常
    • (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 test

print(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.coloradmin.cn/o/1406230.html

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

相关文章

face_recognition和图像处理中left、top、right、bottom解释

face_recognition.face_locations 介绍 加载图像文件后直接调用face_recognition.face_locations(image),能定位所有图像中识别出的人脸位置信息,返回值是列表形式,列表中每一行是一张人脸的位置信息,包括[top, right, bottom, l…

【vueCms】vuecms_xg安装与使用视频讲解【视频讲解】

克隆项目 gitee项目地址:https://gitee.com/derekgo/vue-cms_xg git clone gitgitee.com:derekgo/vue-cms_xg.git开启自动化脚本 点击后,运行http://localhost:3002 本地配置 开启本地redis 开启redis redis-server.exe redis.windows.conf重启redis 注意:…

微信小程序实现长按 识别图片二维码

第一种方案&#xff08;只需要在image里面加一个属性就可以了&#xff09; show-menu-by-longpress“{{true}}” <image show-menu-by-longpress"{{true}}" src"{{sysset.dyqewm}}" />第二种方案 放大预览图片&#xff0c;长按识别二维码 wxml <…

Redis——RDB持久化

前言 Redis是一个键值对数据库服务器&#xff0c;服务器中通常包含任意个非空数据库&#xff0c;而每个非空数据库中又可以包含任意个键值对&#xff0c;为了方便起见&#xff0c;我们将服务器中的非空数据库以及它们的键值对统称为数据库状态。 因为Redis数据库是内存数据库&a…

Leetcode刷题(二十八)

找出字符串中第一个匹配项的下标&#xff08;Easy&#xff09; 给你两个字符串 haystack 和 needle &#xff0c;请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标&#xff08;下标从 0 开始&#xff09;。如果 needle 不是 haystack 的一部分&#xff0c;则返…

Java实现考研专业课程管理系统 JAVA+Vue+SpringBoot+MySQL

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 考研高校模块2.3 高校教师管理模块2.4 考研专业模块2.5 考研政策模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 考研高校表3.2.2 高校教师表3.2.3 考研专业表3.2.4 考研政策表 四、系统展示五、核…

HiP框架:多AI模型联手,助力机器人驾驭复杂规划大局

原创 | 文 BFT机器人 你的日常待办清单或许只是些稀松平常的小事&#xff1a;清洗堆积如山的碗盘、采购琳琅满目的食品杂货等。在执行这些任务时&#xff0c;你无需逐一写下“捧起那只满是油污的盘子”或“用湿润的海绵仔细擦洗这个盘子”这样的琐碎步骤&#xff0c;因为在你的…

linux环境开发工具---yum与vim

1.Linux软件包管理器yum 1.1什么是软件包 在学习linux过程中&#xff0c;我们常常会遇到某些指令用不了的时候&#xff0c;原因除了权限问题外&#xff0c;还有可能是你当前的linux环境并没有安装相应的软件包。而在Linux下载安装软件的办法有两个&#xff0c;一个是先下载所需…

Unity之Timeline教程

前言 Unity Timeline是Unity的一种时间轴编辑器工具&#xff0c;用于制作和管理游戏中的动画、剧情以及事件触发。它提供了直观的界面&#xff0c;使得开发者可以通过拖放操作轻松创建和编辑时间轴。 Timeline的使用 创建新的Timeline 在Unity中&#xff0c;选择菜单栏的 Wi…

CACTER邮件安全网关独家安全解决方案——保障企业邮件系统安全

随着科技的不断发展&#xff0c;网络攻击技术也在不断演变&#xff0c;尤其是在电子邮件领域&#xff0c;各种高级变种威胁层出不穷&#xff0c;比如定制化的钓鱼邮件和带有高级恶意软件的邮件等。这些威胁邮件往往能够绕过传统的安全防护措施&#xff0c;包括反垃圾邮件、反钓…

【论文阅读 CIDR17】Self-Driving Database Management Systems

Self-Driving Database Management Systems MySummary ABSTRACT 之前的advisory tools来帮助DBA处理系统调优和物理设计的各个方面&#xff0c;都仍然需要人类对数据库的任何更改做出最终决定&#xff0c;并且是在问题发生后修复问题的反动措施reactionary measures 。 An …

MySQL 的delete、truncate、drop 有什么区别

目录 一、从执行速度上来说 二、从使用场景和原理上讲 1、DELETE 2、truncate 3、drop 希望能够帮助到大家&#xff01;&#xff01;&#xff01; 一、从执行速度上来说 drop > truncate >delete 二、从使用场景和原理上讲 1、DELETE DELETE from TABLE_NAME wh…

玩客云Armbian 23.8.1 Bullseye安装PrometheusGrafana

Welcome to Armbian 23.8.1 Bullseye with bleeding edge Linux 6.4.13-edge-meson prometheus 参考Monitoring – How to install Prometheus/Grafana on arm – Raspberry PI/Rock64 | Blogs (mytinydc.com) cd /usr/local/srcwget https://github.com/prometheus/prometh…

小程序技术实践:快速开发适配鸿蒙的App

今年&#xff0c;在中国&#xff0c;被各大媒体和开发者称为“鸿蒙元年”。 在2023年底就有业内人士透露&#xff0c;华为明年将推出不兼容安卓的鸿蒙版本&#xff0c;未来IOS、鸿蒙、安卓将成为三个各自独立的系统。 果不其然&#xff0c;执行力超强的华为&#xff0c;与202…

k8s---包管理器helm

内容预知 目录 内容预知 helm相关知识 Helm的简介与了解 helm的三个重要概念 helm的安装和使用 将软件包拖入master01上 使用 helm 安装 Chart 对chart的基本使用 查看chart信息 安装chart 对chart的基本管理 helm自定义模板 在镜像仓库中拉取chart&#xff0c;查…

使用Python合并PPT文件

在日常工作和学习中&#xff0c;我们经常需要处理和管理大量的PPT文件。如果需要将多个PPT文件合并成一个文件&#xff0c;手动操作可能会非常繁琐和耗时。今天&#xff0c;我们将介绍如何使用Python编程语言和wxPython模块创建一个简单的GUI应用程序&#xff0c;来自动合并指定…

web 应用常见的安全问题

一xss攻击 人们经常将跨站脚本攻击&#xff08;Cross Site Scripting&#xff09;缩写为CSS&#xff0c;但这会与层叠样式表&#xff08;Cascading Style Sheets&#xff0c;CSS&#xff09;的缩写混淆。因此&#xff0c;有人将跨站脚本攻击缩写为XSS。 跨站脚本攻击&#xff…

如何修改flutter的minSdkVersion版本?

在使用第三方插件的时候&#xff0c;插件对最低的 minSdkVersion版本是有要求的&#xff0c;你比如flutter 插件 webview_flutter 就会报一下错&#xff1a; minSdkVersion 16 cannot be smaller than version 19 declared in library 解决方法①&#xff1a; 这个时候我们需…

OpenCV第 1 课 计算机视觉和 OpenCV 介绍

文章目录 第 1 课 计算机视觉和 OpenCV 介绍1.机器是如何“看”的2.机器视觉技术的常见应用3.图像识别介绍4. 图像识别技术的常见应用5.OpenCV 介绍6.图像在计算机中的存储形式 第 1 课 计算机视觉和 OpenCV 介绍 1.机器是如何“看”的 我们人类可以通过眼睛看到五颜六色的世界…

Java 应用部署包优化经验分享

背景 最近接手了一个 2018 年的老项目&#xff0c;因为太久远了&#xff0c;功能上的代码不敢乱动&#xff0c;虽然是老项目&#xff0c;但最近一年也在持续加功能&#xff0c;功能不稳定&#xff0c;于是我就进入了救火式改 Bug 的状态。 功能不能妄动&#xff0c;但是这个项…