【Python】异常、模块与包

一、异常的概念
二、异常的捕获方法
三、异常的传递
四、Python模块
五、Python包
六、安装第三方Python包

一、异常的概念

  1. 什么是异常:
    异常就是程序运行的过程中出现了错误
  2. bug是什么意思:
    bug就是指异常的意思,因为历史因为小虫子导致计算机失灵的案例,所以延续至今,bug就代表软件出现错误。

二、异常的捕获方法

  1. 为什么要捕获异常
  2. 捕获异常的语法格式

1、为什么要捕获异常

世界上没有完美的程序,任何程序在运行的过程中,都有可能出现:异常,也就是出现bug
导致程序无法完美运行下去。

我们要做的,不是力求程序完美运行。
而是在力所能及的范围内,对可能出现的bug,进行提前准备、提前处理。

这种行为我们称之为:异常处理(捕获异常)

当我们的程序遇到了BUG, 那么接下来有两种情况:
① 整个程序因为一个BUG停止运行
② 对BUG进行提醒, 整个程序继续运行

显然在之前的学习中, 我们所有的程序遇到BUG就会出现①的这种情况, 也就是整个程序直接奔溃.
但是在真实工作中, 我们肯定不能因为一个小的BUG就让整个程序全部奔溃, 也就是我们希望的是达到②的这种情况
那这里我们就需要使用到捕获异常

捕获异常的作用在于:提前假设某处会出现异常,做好提前准备,当真的出现异常的时候,可以有后续手段。

2、捕获异常的语法格式

捕获常规异常

在这里插入图片描述

捕获指定异常在这里插入图片描述

捕获多个异常

在这里插入图片描述

捕获异常并输出描述信息

在这里插入图片描述

捕获所有异常

在这里插入图片描述

异常else在这里插入图片描述

异常的finally在这里插入图片描述

总结

  1. 为什么要捕获异常?
    在可能发生异常的地方,进行捕获。当异常出现的时候,提供解决方式,而不是任由其导致程序无法运行。
  2. 捕获异常的语法?
    在这里插入图片描述
  3. 如何捕获所有异常?
    异常的种类多种多样,如果想要不管什么类型的异常都能捕获到,那么使用:
  • except:
  • except Exception:
  • 两种方式捕获全部的异常

三、异常的传递

异常具有传递性
在这里插入图片描述
在这里插入图片描述

四、Python模块

  1. 模块的导入
    • 什么是模块
    • 导入Python内置的模块
  2. 自定义模块
    • 如何自定义模块并使用
    • __main__变量的作用

什么是模块

Python 模块(Module),是一个 Python 文件,以 .py 结尾. 模块能定义函数,类和变量,模块里也能包含可执行的代码.

模块的作用: python中有很多各种不同的模块, 每一个模块都可以帮助我
们快速的实现一些功能, 比如实现和时间相关的功能就可以使用time模块
我们可以认为一个模块就是一个工具包, 每一个工具包中都有各种不同的
工具供我们使用进而实现各种不同的功能.

大白话:模块就是一个Python文件,里面有类、函数、变量等,我们可以拿过来用(导入模块去使用)

1、模块的导入方式在这里插入图片描述

import模块名在这里插入图片描述

from 模块名 import 功能名在这里插入图片描述

from 模块名 import *在这里插入图片描述

as定义别名在这里插入图片描述

总结

  1. 什么是模块?
    模块就是一个Python代码文件,内含类、函数、变量等,我们可以导入进行使用。
  2. 如何导入模块
    在这里插入图片描述
  3. 注意事项:
    from可以省略,直接import即可
    as别名可以省略
    通过”.”来确定层级关系
    模块的导入一般写在代码文件的开头位置

2、自定义模块

制作自定义模块在这里插入图片描述

测试模块

在这里插入图片描述

注意事项在这里插入图片描述

all在这里插入图片描述

  1. 如何自定义模块并导入?
    在Python代码文件中正常写代码即可,通过import、from关键字和导入Python内置模块一样导入即可使用。
  2. __main__变量的功能是?
    if main == “main”表示,只有当程序是直接执行的才会进入if内部,如果是被导入的,则if无法进入
  3. 注意事项
    • 不同模块,同名的功能,如果都被导入,那么后导入的会覆盖先导入的
    • __all__变量可以控制import *的时候哪些功能可以被导入

五、Python包

自定义包

  • 什么是Python包
  • 如何自定义包

什么是Python包

在这里插入图片描述

自定义包的步骤

在这里插入图片描述

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

在这里插入图片描述

总结

  1. 什么是Python的包?
    包就是一个文件夹,里面可以存放许多Python的模块(代码文件),通过包,在逻辑上将一批模块归为一类,方便使用。
  2. init.py文件的作用?
    创建包会默认自动创建的文件,通过这个文件来表示一个文件夹是Python的包,而非普通的文件夹。
  3. __all__变量的作用?
    同模块中学习到的是一个作用,控制 import * 能够导入的内容

六、安装第三方Python包

  • 什么是第三方包
  • 使用pip安装第三方包

什么是第三方包

我们知道,包可以包含一堆的Python模块,而每个模块又内含许多的功能。
所以,我们可以认为:一个包,就是一堆同类型功能的集合体。

在Python程序的生态中,有许多非常多的第三方包(非Python官方),可以极大的帮助我们提高开发效率,如:

  • 科学计算中常用的:numpy
  • 数据分析中常用的:pandas
  • 大数据计算中常用的:pysparkapache-flink
  • 图形可视化常用的:matplotlibpyecharts
  • 人工智能常用的:tensorflow

这些第三方的包,极大的丰富了Python的生态,提高了开发效率。
但是由于是第三方,所以Python没有内置,所以我们需要安装它们才可以导入使用哦。

安装第三方包 - pip在这里插入图片描述

pip的网络优化

由于pip是连接的国外的网站进行包的下载,所以有的时候会速度很慢。

我们可以通过如下命令,让其连接国内的网站进行包的安装:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 包名称

在这里插入图片描述
https://pypi.tuna.tsinghua.edu.cn/simple 是清华大学提供的一个网站,可供pip程序下载第三方包

安装第三方包 - PyCharm

解释器设置Interpreter Settings…

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

总结

  1. 什么是第三方包?有什么作用?
    第三方包就是非Python官方内置的包,可以安装它们扩展功能,提高开发效率。
  2. 如何安装?
  • 在命令提示符内:
pip install 包名称
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 包名称
  • 在PyCharm中安装

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

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

相关文章

ansible-playbook的Temlates模块 tags模块 Roles模块

Temlates模块 jinja模板架构,通过模板可以实现向模板文件传参(python转义)把占位符参数传到配置文件中去,生产一个目标文本文件,传递变量到需要的配置文件当中 (web开发) nginx.conf.j2 早文件当中配置的是占位符(声明…

Error in `arrange()`: ! Can‘t transform a data frame with `NA` or `““` names.

问题:给Taxonomy排序,并筛选OTU表中存在的 根据提示运行:rlang::last_error(),显示: Backtrace:▆1. ├─dplyr::arrange(taxonomy, phylum, class, order, family, full)2. ├─dplyr:::arrange.data.frame(taxonom…

【SpringBoot篇】解决缓存击穿问题① — 基于互斥锁方式

文章目录 🌹什么是缓存击穿🌺基于互斥锁解决问题🛸思路 🏳️‍🌈代码实现 🌹什么是缓存击穿 缓存击穿是指在使用缓存系统时,对一个热点数据的高并发请求导致缓存失效,多个请求同时访…

云渲染怎么批量效果图、影视动画?云渲染在效果图、影视的作用

在设计和建筑领域,设计师往往需要制作出精细逼真的效果图以向客户展示他们的设计思路。然而,在这些行业中,大量生成效果图需求非常费时费力。幸运的是,日期到了云渲染的这个时代,设计师们可以通过云渲染服务以一种更加…

小程序面试题 | 12.精选小程序面试题

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

帕累托森林CEO李朝政博士受邀「OSS-Compass」开源年会畅谈:开源框架下的奇异竞争规则

导语 “怎么在别人知道你的代码和战略时,你仍然拥有壁垒?”这是开源框架下,商业必须思考的问题。 软件驱动世界运转。但当基础层代码失去了有深度活力的“动态延伸”潜力,便会遭致市场“零定价”的宿命。动态延伸的效率&#xf…

用html,css和js写购物车移动端加减全反选及计算总价

目录 html代码 css代码 js代码 完整代码 效果图 html代码 <script src"./flexible.js"></script><!-- <script src"https://cdn.jsdelivr.net/npm/vue2/dist/vue.js"></script> --><div class"header">…

基于iOS平台的车牌识别表情识别项目

基于iOS平台的车牌识别&&表情识别项目 简介 ​ 该项目客户端搭载于iOS平台&#xff0c;服务端搭载于阿里云服务器&#xff0c;主要功能是通过拍照或选取相册图片来进行车牌的识别以及人脸表情识别。本文便是对项目整体流程设计思路和具体实现做一个详细介绍。 整体实…

Android App程序应用未校验签名证书——————《风险等级高》

目录 应用签名未校验风险1、检测目的2、风险等级3、检测依据4、风险描述5、检测步骤6、结果描述7、解决方案7.1、Android 检验 APK 是否签名的代码7.2、检验APK签名 8、结尾 应用签名未校验风险 1、检测目的 检测App程序启动时是否校验签名证书。 防止App的盗版率。未进行签…

Set A Light 3D Studio for Mac - 构建逼真的照明场景!

Set A Light 3D Studio 是一款专业的照明设计和模拟软件&#xff0c;旨在帮助摄影师、电影制片人和视觉艺术家创建逼真的照明场景。无论你是在拍摄电影、广告、时尚杂志还是其他视觉艺术项目&#xff0c;这个软件都能帮助你实现你的创意想法。 Set A Light 3D Studio Mac版 ✨…

【C++入门到精通】 原子性操作库(atomic) C++11 [ C++入门 ]

阅读导航 引言一、原子性操作库简介二、原子变量1. 原子类型2. 原子类型函数3. 使用示例 三、总结温馨提示 引言 当谈及并发编程时&#xff0c;确保数据的安全性和一致性是至关重要的。在C11中引入的原子性操作库&#xff08;atomic&#xff09;为我们提供了一种有效且可靠的方…

2004年AMC8数学竞赛中英文真题典型考题、考点分析和答案解析

今天距离2024年的AMC8美国数学竞赛举办已不足一个月了&#xff0c;赶紧利用周末的时间刷刷真题&#xff0c;查漏补缺吧&#xff01;如果您有任何关于AMC8比赛的任何问题都可以问我&#xff0c;关于题目的解析也可以交流。 今天六分成长继续和您一起&#xff0c;从历年的真题中来…

Ubuntu 常用命令之 man 命令用法介绍

&#x1f4d1;Linux/Ubuntu 常用命令归类整理 man命令在Ubuntu系统中是一个非常重要的命令&#xff0c;它用于查看系统的手册页。手册页是Linux和Unix系统中的一种在线文档&#xff0c;用于描述系统中的命令、函数、配置文件等的详细信息。 man命令的基本格式是 man [选项] …

FPC柔性线路板使用UV胶水的优势有哪些?

UV胶水在FPC柔性线路板的装配中具有明显的优势&#xff1a; 快速固化 UV胶水在紫外线照射后10秒左右迅速固化&#xff0c;因此它能够在短时间内完成连接。这非常有助于实际工业作业中提高生产效率&#xff0c;特别是在需要大批量生产的情况下。 精确控制固化时间 UV胶水的固…

pip 常用指令 pip cache 命令用法介绍

&#x1f4d1;pip 常用命令归类整理 pip cache 是一个用于管理pip缓存的命令。pip是Python的包管理器&#xff0c;用于安装和管理Python包。当你使用pip安装一个包时&#xff0c;pip会首先在其缓存中查找该包。如果在缓存中找到&#xff0c;pip将从缓存中安装该包&#xff0c;…

【ARM 安全系列介绍 3.4 -- 安全证书介绍】

文章目录 安全证书安全证书的主要组成部分安全证书的应用场景证书使用举例 证书格式PEM (Privacy Enhanced Mail)DER (Distinguished Encoding Rules)PKCS#7/P7B (Public Key Cryptography Standards #7)PKCS#12/PFX (Public Key Cryptography Standards #12)P7B 和 PFX/P12 的…

Vue 在同一个项目中,判断pc端和移动端,显示不同风格的页面(附pc端移动端显示效果图)

实现思路 1、修改index.html页面的meta 2、增加pc端移动端的判断 3、设置路由&#xff0c;根据不同的端&#xff0c;调用各自的路由&#xff0c;显示不同的页面 index.html 修改如下 <meta name"viewport" content"widthdevice-width,initial-scale1.0,minim…

51单片机模数转换ADC原理与代码一

51单片机模数转换ADC原理与代码一 1.概述 这篇文章是模数转换的入门文章&#xff0c;这篇文章主要介绍模数的概念、原理、核心指标、专业术语&#xff0c;以及一个模数转换的实例代码实现检测电位器的数值变化。 2.ADC介绍 2.1.ADC概念 ADC(Analog-to-Digital Converter)是…

tomcat和nginx自定义404错误页面

nginx 编辑nginx配置文件 vim /www/server/nginx/nginx.conf server{listen 80;error_page 404 /404.html;location /404.html{root /home/liu/html/error-html;} }在家目录下创建一个html/error-html目录&#xff0c;用于存放错误页面 在error-html目录下创建404.html&a…

node.js mongoose index(索引)

目录 简介 索引类型 单索引 复合索引 文本索引 简介 在 Mongoose 中&#xff0c;索引&#xff08;Index&#xff09;是一种用于提高查询性能的数据结构&#xff0c;它可以加速对数据库中文档的检索操作 索引类型 单索引、复合索引、文本索引、多键索引、哈希索引、地理…