Python学习----异常、模块、安装第三方包

news2024/11/20 20:33:38

异常

异常的含义就不用解释了
打开一个不存在的文件:
在这里插入图片描述

异常的捕获

语法: 捕获所有异常

try:
	可能发生错误的代码
except:
	发生错误之后执行的代码


try:
	可能发生错误的代码
except Exception as e:
	发生错误之后执行的代码

两种写法都行

捕获指定异常,上面的就是捕获所有异常
语法:

try:
	可能发生异常的代码
except 异常名称 as e:
	发生异常之后执行的代码

捕获多个异常:
语法:

try:
	可能发生异常的代码
except(异常1,异常2......)
	发生异常之后执行的代码

异常else
else表示的是,如果没有异常,要执行的代码

try:
	可能发生异常的代码
except(异常1,异常2......)
	发生异常之后执行的代码
else:
	如果没有发生异常,执行的代码。这个可以有也可以没有

异常的finally

try:
	可能发生异常的代码
except(异常1,异常2......)
	发生异常之后执行的代码
else:
	如果没有发生异常,执行的代码。这个可以有也可以没有
finally:
	不管是否出现异常,都要执行的代码

异常的传递

和java异常的传递是一样的。 fun1 调用 fun2 ,如果fun2发生异常,可以在fun1进行捕获。异常会自动向上抛,直到你try的时候,或者系统捕获的时候才会停止。

模块

什么是模块
就是一个Python文件,以 .py结尾, 模块能定义函数,类和变量,模块里也能包含可执行的代码
就是java导入一个工具类道理差不多。

语法:
[from 模块名] import [模块 | 类 | 变量 | 函数 | * ] as [ 别名 ]
中括号表示可以省略

以Python自带的time模块演示
在这里插入图片描述
导入全部功能还有另外一个写法
form time import *
这个也表示导入time模块下的全部功能,但是在使用的使用。
这样导入可以直接写方法名调用
time()
就不用加前缀 time.time() 这样写。

自定义模块并导入

每个Python文件都可以作为一个模块

在这里插入图片描述
注意:导入不同模块,但是有相同的方法名,后导入模块中的方法会将先导入模块中的方法覆盖。

测试模块 __name__变量
在这里插入图片描述

在模块中,直接调用测试代码,那么在导入的时候也会被调用。但是又要保存测试记录。
那么就使用上面的方法
在 自己python文件中运行, __name__ = ‘__main__’
但是在其他python文件中,这个文件的 __name__ 就不生效了,只在当前文件生效,但是其他文件还是等于 这个值。
运行learn05::::::::::::::::::
在这里插入图片描述

__all__ 变量
如果一个模块文件中有 all 变量,当使用 from xxxx import *导入时,只能导入指定元素
这个 * 星号,就是代表 all 这个变量

运行my_module
在这里插入图片描述

Python 包

自定义包

包就是许多模块组成,物理上看就是一个文件夹。
包组成: 模块 + __init__.py 文件
其实都是py文件。
__init__.py 有这个文件就是 Python包,没有就是一个普通文件夹

通过PYcharm工具,创建一个包,里面自带__init__.py。一开始里面是什么都没有的

在这里插入图片描述

使用自定义包:
方式1:
导入 : import 包名.模块名
使用 : 包名.模块名.方法名 # 或者是变量名

方式2:
导入 : from 包名 import 模块名
使用 : 模块名. 方法名

方式3:
导入 : from 包名.模块名 import 方法名
使用 : 方法名
在这里插入图片描述
在__init__.py 可以通过 __all__ 变量指定哪些模块能偶导入哪些不能导入
同样也是只能控制
from 包名 import * 的形式
在这里插入图片描述

安装第三方包

在Python生态中,有很多第三方包(非官方的),可以极大的帮助我们提高开发效率,如:
科学计算常用的: numpy包
数据分析常用的: pandas包
大数据计算中常用的: pyspark包,apache-flink包
图形可视化常用的: matplotlib、pyecharts
人工智能常用的,tensorflow

只要电脑正常安装了python,就能使用pip程序
语法 : pip install 包名称
即可通过网络快速安装第三方包
pip install numpy
默认是连接外国网站下载,非常慢

通过国内网站进行安装
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 包名称

有可能出现pip版本过低,需要更新pip版本
python.exe -m pip install --upgrade pip

PyCharm 安装第三方包
1、
在这里插入图片描述
2、
在这里插入图片描述
3、 安装即可,默认源是国外的,勾选options 填写国内源即可

在这里插入图片描述

json数据和Python数据相互转换

导入json模块
import json
data = [{“name”:“小明”,“age”:16},{“name”:“小红”,“age”:18}]

通过 json.dumps(data) 方法,把python数据(字典)转化为json数据
结果为json格式的字符串,这个方法在转换中文的时候,会将中问转码,要原样输出的话, json.dumps(data, ensure_ascii=False)

通过json.loads(data)方法,把json数据转化为python数据(字典)

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

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

相关文章

【maptplotlib大全图】一段代码洞查matplotlib图片真谛

此文通过给大家设计一个全面的代码,帮助大家了解matplotlib库画图的全貌 代码解读,略。 图示解读: 对照上图序号和下面序号看代码解释: 1.应用风格使用代码:plt.style.use(sty) 2.文本注释 plt.annotate(‘maximum…

QSS(Qt样式表)概念

Qt样式表是一个可以自定义部件外观的十分强大的机制,除了QStyle更改的样式,其他的都可以由QSS修改。由于受到Html的CSS启发,所以叫QSS。 代码添加样式表ui界面上添加样式表代码添加样式表: setStyleSheet(&#xff09…

Beacon帧

一、简介 Beacon帧是802.11中一个周期性的帧,每隔一段时间就会向外界发出一个Beacon(信标)信号用来宣布自己802.11网络的存在。Beacon周期调高,对应睡眠周期拉长,故节能(即越来休息100ms再起来发一个包,现在休息200ms…

python学习思路

话不多说,就是开始练习,因为之前编程的经验比较少,怎么办,就像马化腾一样,先抄袭,只有抄袭完成了之后,你才会获得你自己的知识 总体思路是先抄袭,再领悟。最后一定要自己默写打一次。…

电子统计台账:垂直流水账格式数据的导入

目录 1 前言 2 新建项目并打开数据源文件 3 模板设置 4 垂直过滤模板中,流水账过滤条件详细格式说明 1 前言 不少企业记录生产销售数据采用流水账格式。我们可以通过设置过滤模板来导入流水账格式的数据。 企业数据源文件,用excel打开后可以看到格式…

API安全防护解决方案

究竟什么是API 常规定义下,API是应用程序接口(Application Programming Interface)的简称,其含义比较宽泛,泛指一组定义、程序及协议的集合。随着技术领域的细分和前后端分离架构模式的推广,App应用、小程…

Java文件操作

文章目录1、文件的基本概念2、java文件操作2.1 File概述2.2 InputStream 和 FileInputStream2.3 OutputStream 和 OutputStreamWriter1、文件的基本概念 平时说的文件一般都是指存储在硬盘上的普通文件,形如txt,jpg,mp4,rar等这些…

Mybatis源码详解

Mybatis源码详解一、JDBC与Mybatis对比JDBC调用Mybatis调用两者对比二、Mybatis资源加载数据源获取SqlSessionFactoryBuilder.buildXMLConfigBuilder.parseXMLConfigBuilder.environmentsElementSQL语句获取1.入口2.两种方式3.XML方式获取SQL3.1 XMLMapperBuilder.parse()3.2 X…

【小白学YOLO】YOLOv3网络结构细致解析

摘要:本文将详细介绍Yolov3的网络结构相关内容。Yolov3 网络结构 在博客“Yolo发展历史及网络结构”中我们已经详细的解释了Yolov1的网络结构,并简要的提到了Yolov2与Yolov3对于网络结构的改进,本篇博客将详细介绍Yolov3的网络结构&#xff…

骑行耳机哪个品牌好,推荐五款最适合骑行佩戴的五款耳机

运动训练是一件非常单调的事情,尤其是你从事的运动节奏感比较强的时候,自身的呼吸频率也会随之加快,调节不过来的时候就很容易呼吸错乱导致运动大幅度下降,这时可以选择一些同当前运动节奏相符的音乐,让音乐在运动的全…

多云管理平台发展的几个阶段

多云管理平台能够无差别地提供统一的资源管理、业务能力和运行维护等功能,从而可以屏蔽掉底层云资源池的差异性,大大降低了用户的建设成本和运行维护成本,因此也是目前算力网络异构云资源池统一管理的主流建设方案。 自Gartner首次提出多云管…

黄金价格走势软件下载,国内十大现货黄金正规平台排名(2022最新榜单)

炒金者想要参与国际现货黄金交易市场中,开户是炒金者现货黄金理财的必经之路,但是依然有不少炒金者谈到开户就会色变,他们担心的不仅仅是开户流程复杂,而是担心开户时遇到的风险难易保证,但实际上大可不必如此&#xf…

Kotlin 中的 inline 和nonline 和crossinline

inline /*** 内联 递归函数无法内联,编译不通过* 函数的 参数 没有 lambda 无需内联--只是减少了方法调用层级 对性能没大影响* 函数的 参数 有 lambda 内联 * 1 不使用内联 在调用端,会生成 Function 对象 完成 lambda的 调用(性能损耗,for 循环 或…

【小程序】微信小程序自定义导航栏及其封装

💭💭 ✨: 微信小程序自定义导航栏   💟:东非不开森的主页   💜: 因为很多东西来不及去做去看可是时间很快总是赶不上,所以要去成长呀💜💜   🌸: 如有错误或…

20221116 Dubbo+Zookeeper

DubboZookeeper实现分布式布局加入ZookeeperDubbo编写provider代码(简单示例)添加依赖代码编写consumer代码(简单示例)加入依赖代码加入Dubbo管理控制台DubboZookeeper实现分布式布局 加入Zookeeper 在服务器端使用docker 下载Z…

Word处理控件Aspose.Words功能演示:使用 C# 将 Word 文档转换为 Markdown

如今,大量的文章、博客和文档都是以Markdown ( MD ) 格式编写的。但是,对于大型文档,Markdown 语法通常变得难以记忆和编写。为方便起见,您可以在 MS Word 中编写内容,然后将DOCX或DOC文档转换为 Markdown。为了自动化…

【Redis入门笔记 09】缓存穿透、击穿与雪崩

目录🍉缓存穿透🍓缓存击穿🍑缓存雪崩☕前言: Redis 数据库常常用来充当传统数据库的缓存。一个实际的场景是当用户的请求过来,先去查缓存中的数据,如果缓存中不存在,则再去查询数据库&#xff…

快速查找qt pro文件中的用qmake language写的库函数

qt函数分为test函数和replace函数:qmake language 内置函数 自定义函数 defineTest(testfunctionname) defineReplace(repacefunctionname)_丘上人的博客-CSDN博客 qt为qmake language提供了内建函数(用C写的逻辑)和用qmake language写的库函…

html移动端实现手写签名,signature手写签名实现,微信公众号浏览器html手写签名实现

前言 html移动端手写自动横竖签名实现&#xff0c;并base64图片格式获取&#xff1b; 横竖根据屏幕宽高自动平铺。 效果图 图一 图二 实现 如下代码直接复制成.html文件打开即可预览效果 <!DOCTYPE html> <html><head><title>手写签名</title&…

适合中小企业的ERP管理软件如何选择?

在选择ERP系统时&#xff0c;我们可以按照这三个维度&#xff0c;然后再按照需求去选择ERP系统。 市面上ERP软件大概可以分为三大类&#xff1a; ① 标准ERP应用&#xff1a;功能比较固定&#xff0c;难以满足个性化需求&#xff0c;二次开发难度很高&#xff1b; ② 找外包/…