第九、十章 异常、模块、包以及数据可视化

news2024/12/24 20:31:36

第九章  异常、模块、包

异常

捕获异常

捕获常规异常

# 捕获常规异常
try:
	f = open("D:/abc.txt", "r", encoding = "UTF-8")
except:
	print("出现异常了,因为文件不存在,我将open的模式,改为w模式去打开")
	f = open("D:/abc.txt", "w", encoding = "UTF-8")

捕获指定异常

# 捕获指定的异常
try:
	print(name)
except NameError as e:
	print(e)

未正确设置捕获异常类型,将无法捕获异常
try:
	print(name)
except ZeroDivisionError as e:
	print(e)

捕获多个异常
try:
	1 / 0
	print(name)
except (NameError, ZeroDivisionError) as e:
	print("出现了变量未定义  或者  除以0的异常错误")

捕获所有异常
# 捕获所有异常
try:
	f = open("D:/abc.txt", "r")
except Exception as e:
	print(e)

异常else

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

try:
	print("Hello")
except Exception as e:
	print("出现异常了")
else:
	print("好高兴,没有异常")
Hello
好高兴,没有异常

异常的finally

finally表示的是无论是否异常都要执行的代码,例如关闭文件。

try:
	f = open("D:/abc.txt", "r")
except Exception as e:
	print("出现异常了")
	f = open("D:/abc.txt", "w")
else:
	print("好高兴,没有异常")
finally:
	print("我是finally,有没有异常我都要执行")
	f.close()

异常的传递性

# 定义一个出现异常的方法
def func1():
	print("func1  开始执行")
	num = 1 / 0
	print("func1  结束执行")
	
# 定义一个无异常的方法,调用上面的方法
def func2():
	print("func2  开始执行")
	func1()
	print("func2  结束执行")

# 定义一个方法,调用上面的方法
def main():
	func2()

main()

模块

概念

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

作用

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

导入方式

模块的导入一般写在代码文件的开头位置

import模块名

# 导入时间模块
import time

print("开始")
# 让程序睡眠3秒(阻塞)
time.sleep(3)
print("结束")
开始
# 3秒后
结束
from 模块名 import 功能名

# 导入时间模块中的sleep功能
from time import sleep

print("开始")
# 让程序睡眠3秒(阻塞)
sleep(3)
print("结束")
开始
# 3秒后
结束
from 模块名 import *

# 导入时间模块中的所有功能
from time import*

print("开始")
# 让程序睡眠3秒(阻塞)
sleep(3)
print("结束")
开始
# 3秒后
结束
as定义别名

# 功能别名
from time import sleep as tt

print("开始")
# 让程序睡眠3秒(阻塞)
tt(3)
print("结束")
开始
# 3秒后
结束
# 模块别名
import time as tt

print("开始")
# 让程序睡眠3秒(阻塞)
tt.sleep(3)
print("结束")
开始
# 3秒后
结束

自定义模块

第十章  数据可视化

导学

json

定义

(1)JSON是一种轻量级的数据交互格式。可以按照JSON指定的格式去组织和封装数据

(2)JSON本质上是一个带有特定格式的字符串。

功能

json就是一种在各个编程语言中流通的数据格式,负责不同编程语言中的数据传递和交互。类似于

python数据和json数据的相互转化

python和json格式是可以无缝切换的,也就是说json说白了,就是一个python的列表(或者说是字典)

若为列表:要求列表内部

若为字典:没什么要求

json就是把Python中:

字典转化为字符串

列表(该列表的元素都是字典),把该列表也变成字符串

import json
# 准备列表,列表内每一个元素都是字典,将其转换为json
data = [{"name":"张大山", "age": 11}, {"name":"王大锤", "age": 13}, {"name":"赵小虎", "age": 16}]
json_str = json.dumps(data, ensure_ascii=False)
print(type(json_str))
print(json_str)

# 准备字典,将字典转换为json
d = {"name": "周杰伦", "addr": "台北"}
json_str = json.dumps(d, ensure_ascii=False)
print(type(json_str))
print(json_str)

# 将json字符串转换为python数据类型[{k: v, k: v}, {k: v, k: v}]
s = '[{"name":"张大山", "age": 11}, {"name":"王大锤", "age": 13}, {"name":"赵小虎", "age": 16}]'
l = json.loads(s)
print(type(l))
print(l)

# 将json字符串转换为python数据类型{k: v, k: v}
s = '{"name": "周杰伦", "addr": "台北"}'
d = json.loads(s)
print(type(d))
print(d)
<type 'str'>
[{"age": 11, "name": "张大山"}, {"age": 13, "name": "王大锤"}, {"age": 16, "name": "赵小虎"}]
<type 'str'>
{"name": "周杰伦", "addr": "台北"}
<type 'list'>
[{u'age': 11, u'name': u'\u5f20\u5927\u5c71'}, {u'age': 13, u'name': u'\u738b\u5927\u9524'}, {u'age': 16, u'name': u'\u8d75\u5c0f\u864e'}]
<type 'dict'>
{u'name': u'\u5468\u6770\u4f26', u'addr': u'\u53f0\u5317'}

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

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

相关文章

如何实现文件上传到阿里云OSS!!!(结合上传pdf使用)

一、开通阿里云OSS对象存储服务 对象存储 OSS_云存储服务_企业数据管理_存储-阿里云阿里云对象存储 OSS 是一款海量、安全、低成本、高可靠的云存储服务&#xff0c;提供 99.995 % 的服务可用性和多种存储类型&#xff0c;适用于数据湖存储&#xff0c;数据迁移&#xff0c;企…

遥瞻智慧:排水系统远程监控的卓越解决方案

遥瞻智慧&#xff1a;排水系统远程监控的卓越解决方案 在城市脉络的深层肌理中&#xff0c;排水系统犹如一条条隐秘的生命线&#xff0c;默默承载着城市的呼吸与律动。然而&#xff0c;如何以科技之眼&#xff0c;赋予这些无形网络以实时感知、精准调控的能力&#xff0c;使之…

FMEA与特殊特性之间的关联——FMEA软件

免费试用FMEA软件-免费版-SunFMEA 在汽车、机械、电子等制造行业中&#xff0c;质量管理和风险控制是确保产品安全和性能至关重要的环节。在这个过程中&#xff0c;FMEA&#xff08;故障模式与影响分析&#xff09;和特殊特性分析是两个常用的工具和方法。本文将探讨FMEA与特殊…

多模态大模型训练数据以及微调数据格式

多模态数据&#xff0c;尤其是中文多模态数据&#xff0c;找一些中文多模态的数据 中文多模态数据集汇总_数据集-阿里云天池本文整理汇总了业界常用的多模态中文数据集&#xff0c;提供了每个数据集的简介、官网、下载地址、Github代码等信息&#xff0c;方便算法研究人员学习…

「探索C语言内存:动态内存管理解析」

&#x1f320;先赞后看&#xff0c;不足指正!&#x1f320; &#x1f388;这将对我有很大的帮助&#xff01;&#x1f388; &#x1f4dd;所属专栏&#xff1a;C语言知识 &#x1f4dd;阿哇旭的主页&#xff1a;Awas-Home page 目录 引言 1. 静态内存 2. 动态内存 2.1 动态内…

Windows远程桌面连接虚拟机Linux

Windows远程桌面连接虚拟机Linux 需要先打开虚拟机的启用VNC连接使用VNC客户端进行连接 yum install -y tigervnc-server #安装tigervnc-server vncserver #启动一个vnc进程 #第一次启动会要求设置密码 #如果需要更改密码可以使用vncpasswd进行更改密码 vncserver -list #查看…

【Linux实践室】Linux高级用户管理实战指南:Linux用户与用户组编辑操作详解

&#x1f308;个人主页&#xff1a;聆风吟_ &#x1f525;系列专栏&#xff1a;Linux实践室、网络奇遇记 &#x1f516;少年有梦不应止于心动&#xff0c;更要付诸行动。 文章目录 一. ⛳️任务描述二. ⛳️相关知识2.1 &#x1f514;Linux查看用户属性命令2.1.1 &#x1f47b;…

数据结构-上三角矩阵存储方式[0知识掌握]

目标&#xff1a;看完本文章你将会了解上三角矩阵的存储方式以及矩阵中数据的位置索引号如何求 难点&#xff1a;上三角矩阵的公式推导&#xff0c;上三角任意位置对应的存储位置。 一、准备知识 1.求和公式 前n项和&#xff1a;Sn n(a1an)/2 公差&#xff1a;d后项-前项…

易保全网络赋强公证系统,前置预防、快速化解债权纠纷

网络赋强公证是一种创新的法律服务模式&#xff0c;为金融机构和债权人提供了一种便捷、高效的债权保障方式。既可以加大对违约方的司法震慑力&#xff0c;又能降低维权方实现债权的风险&#xff0c;且执行时间更快&#xff0c;债权周期更短&#xff0c;诉讼费用更低&#xff0…

OpenHarmony鸿蒙南向开发案例:【智能燃气检测设备】

样例简介 本文档介绍了安全厨房案例中的相关智能燃气检测设备&#xff0c;本安全厨房案例利用轻量级软总线能力&#xff0c;将两块欧智通V200Z-R/BES2600开发板模拟的智能燃气检测设备和燃气告警设备组合成。当燃气数值告警时&#xff0c;无需其它操作&#xff0c;直接通知软总…

【机器学习】分类与预测算法评价的方式介绍

一、引言 1、机器学习分类与预测算法的重要性 在数据驱动的时代&#xff0c;机器学习已经成为了处理和分析大规模数据的关键工具。分类与预测作为机器学习的两大核心任务&#xff0c;广泛应用于各个领域&#xff0c;如金融、医疗、电商等。分类算法能够对数据进行有效归类&…

登录解析(前端)

登录代码 1、登录之后做了什么&#xff1f; 执行登陆方法&#xff0c;成功之后&#xff0c;路由跳转到指定路径或者根目录 2、this.$store.dispatch是什么意思&#xff1f; this.$store.dispatch(‘Login’, this.loginForm) 来调取store里的user.js的login方法3、this.$r…

调试软件iic协议心得

如何判断发送成功&#xff1f; 主控发送了一个字节8位&#xff08;8个 SCL 时钟&#xff09;的数据后&#xff0c;在第9个时钟周期&#xff0c;释放 SDA 控制权&#xff08;IO 引脚输出改为输入&#xff09;&#xff0c;读取 SDA 状态&#xff0c;读到低电平表示通信成功&…

聊聊路径规划算法(四)——滚动在线RRT算法和BUG算法

基本RRT算法更偏向于遍历所有自由空间直到获取可行路由性&#xff0c;这使得它不能够进行未知或动态环境条件中的机器人实时运动计划。利用滚动计划的思路可以将RRT算法加以完善&#xff0c;使之更具有实时规划能力。 滚动规划 机器人在不确定的或动态周围环境中行走时&#x…

面试题集中营—GC日志简析及频繁GC的调优

如何查看GC日志 有两种方式查看GC日志&#xff0c;一种是动态命令行查看 jstat -gc <pid> 300 5 第二种就是在JVM参数中增加打印的参数&#xff0c;如下&#xff1a; -XX:PrintGCDetails -XX:PrintGCTimeStamps 表示打印每次GC的日志以及GC发生的时间 -Xloggc:gc.log …

LeetCode:203.移除链表元素

&#x1f3dd;1.问题描述&#xff1a; &#x1f3dd;2.实现代码&#xff1a; typedef struct ListNode ListNode; struct ListNode* removeElements(struct ListNode* head, int val) {if(headNULL)return head;ListNode *NewHead,*NewTail;ListNode *pcurhead;NewHeadNewTail…

电动机保护器在电力系统中的重要性

摘要&#xff1a;在工业自动化领域&#xff0c;低压电动机广泛应用于各种机械设备&#xff0c;例如传动系统、生产线和泵。为了保证这些设备的正常运行&#xff0c;对低压电动机进行必要的保护至关重要。本文将详细介绍低压电动机的七种保护方式&#xff0c;包括过载保护、短路…

spring security登录认证授权

spring security登录认证授权 是什么 Spring Security 主要实现了Authentication&#xff08;认证&#xff0c;解决who are you? &#xff09; 和 Access Control&#xff08;访问控制&#xff0c;也就是what are you allowed to do&#xff1f;&#xff0c;也称为Authorizat…

基于ssm汽车租赁系统业务管理子系统论文

系统简介 随着信息互联网购物的飞速发展&#xff0c;一般企业都去创建属于自己的管理系统。本文介绍了汽车租赁系统业务管理子系统的开发全过程。通过分析企业对于汽车租赁系统业务管理子系统的需求&#xff0c;创建了一个计算机管理汽车租赁系统业务管理子系统的方案。文章介…

【MySQL 数据宝典】【内存结构】- 005 Log Buffer

Log Buffer Log Buffer&#xff1a;日志缓冲区&#xff0c;用来保存要写入磁盘上log文件&#xff08;Redo/Undo&#xff09;的数据&#xff0c;日志缓冲区的内容定期刷新到磁盘log文件中。日志缓冲区满时会自动将其刷新到磁盘&#xff0c;当遇到BLOB或多行更新的大事务操作时&…