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

第九章  异常、模块、包

异常

捕获异常

捕获常规异常

# 捕获常规异常
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 / 0print(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 / 0print("func1  结束执行")# 定义一个无异常的方法,调用上面的方法
def func2():print("func2  开始执行")func1()print("func2  结束执行")# 定义一个方法,调用上面的方法
def main():func2()main()

模块

概念

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

作用

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

导入方式

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

import模块名

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

# 导入时间模块中的sleep功能
from time import sleepprint("开始")
# 让程序睡眠3秒(阻塞)
sleep(3)
print("结束")
开始
# 3秒后
结束
from 模块名 import *

# 导入时间模块中的所有功能
from time import*print("开始")
# 让程序睡眠3秒(阻塞)
sleep(3)
print("结束")
开始
# 3秒后
结束
as定义别名

# 功能别名
from time import sleep as ttprint("开始")
# 让程序睡眠3秒(阻塞)
tt(3)
print("结束")
开始
# 3秒后
结束
# 模块别名
import time as ttprint("开始")
# 让程序睡眠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.mzph.cn/pingmian/489.shtml

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

相关文章

SpringBoot 配置 jedis 来连接redis

Maven依赖 首先配置 maven依赖&#xff0c;这个依赖&#xff0c;要结合自己的springboot 的版本去选&#xff0c; 如果想要看自己的springboot 版本 在 启动类中去 加入&#xff0c;这两行代码 String version SpringBootVersion.getVersion(); log.info("***SpringBo…

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…

【C++】C++11右值引用

&#x1f440;樊梓慕&#xff1a;个人主页 &#x1f3a5;个人专栏&#xff1a;《C语言》《数据结构》《蓝桥杯试题》《LeetCode刷题笔记》《实训项目》《C》《Linux》《算法》 &#x1f31d;每一个不曾起舞的日子&#xff0c;都是对生命的辜负 目录 前言 1.什么是左值&&…

HCIP——HCIA回顾(笔记)

OSI OSI -- 开放式系统互联参考模型&#xff08;7层参考模型&#xff09; 应用层 抽象语言 -》编码 表示层 编码-》二进制 会话层 提供应用程序的会话地址 传输层 分段 数据包容量不易过大&#xff0c;否则影响传输效率及共享宽带&#xff1b;分段大小由MTU决定&…

积极探索新质生产力,九河云携手华为云技术交流引领数智跃迁

4月18日&#xff0c;九河云携手华为云举办了华为云SA技术培训会议&#xff0c;培训邀请到华为云技术人员作为主讲人&#xff0c;通过理论讲解与案例结合的方式&#xff0c;围绕ECS和EBS之间的联动&#xff0c;调优和数据保护等方面展开&#xff0c;深入浅出地讲解了基于EBS部署…

常用UI组件

一、文本组件 1.1 概述 Text为文本组件&#xff0c;用于显示文字内容 1.2 参数 Text组件的参数类型为string | Resource Entry Component struct Index {build() {Column({space : 50}) {Text(你好).fontSize(50)}.width(100%).height(100%).justifyContent(FlexAlign.Cent…

便携式HD-SDI模拟源测试设备

便携式HD-SDI模拟源测试设备 平台简介 便携式手提CameraLink模拟源测试设备&#xff0c;以PCIe的HD-SDI播出卡和X86主板为基础&#xff0c;构建便携式的手提设备。 平台默认操作系统为win7 64位系统&#xff1b;具备丰富的外设接口&#xff0c;如VGA、HDMI、千兆网口、USB2.0/3…

HCIP——MPLS(笔记)

MPLS--多协议标签交换技术 包交换 数据组成数据包&#xff0c;之后&#xff0c;在各个网络节点中不断传递&#xff0c;最终到达目标。包交换转发效率不高的问题所在&#xff1a;1&#xff0c;在整个包交换的过程中&#xff0c;需要先查询路由表之后再查看ARP缓存表两张表来完…

【 基于Netty实现聊天室聊天业务学习】第4节.什么是BIO与NIO

IO在读写的时候是阻塞的&#xff0c;无法做其他操作&#xff0c;并发处理能力的非常低&#xff0c;线程之间访问资源通信时候也是非常耗时久&#xff0c;依赖我们的网速&#xff0c;带宽。 我们看一下他的白话原理 我们来看一下这张图那么这张图的话它里面有一个server还有三个…

【C++题解】1607. 两位数运算

问题&#xff1a;1607. 两位数运算 类型&#xff1a;基本运算、拆位求解 题目描述&#xff1a; 小丽在编程课上学会了拆位运算&#xff0c;她已经可以拆出一个两位整数的十位和个位了&#xff0c;她想知道这个整数的十位 / 个位的结果是多少&#xff0c;请编程帮她实现&#…

【问题处理】银河麒麟操作系统实例分享,adb读写缓慢问题分析

1.问题环境 处理器&#xff1a; HUAWEI Kunpeng 920 5251K 内存&#xff1a; 512 GiB 整机类型/架构&#xff1a; TaiShan 200K (Model 2280K) BIOS版本&#xff1a; Byosoft Corp. 1.81.K 内核版本 4.19.90-23.15.v2101.ky10.aarch64 第三方应用 数据库 2.问题…

深度学习--CNN应用--VGG16网络和ResNet18网络

前言 我们在学习这两个网络时&#xff0c;应先了解CNN网络的相关知识 深度学习--CNN卷积神经网络&#xff08;附图&#xff09;-CSDN博客 这篇博客能够帮我们更好的理解VGG16和RetNet18 1.VGG16 1.1 VGG简介 VGG论文网址&#xff1a;VGG论文 大家有兴趣的可以去研读一下…

【智能算法】鸡群优化算法(CSO)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献 1.背景 2014年&#xff0c;X Meng等人受到鸡群社会行为启发&#xff0c;提出了鸡群优化算法&#xff08;Chicken Swarm Optimization, CSO&#xff09;。 2.算法原理 2.1算法思想 CSO算法的思想是基于对…

数仓建模—物理数据模型

数仓建模—物理数据模型 前面我们讲了数据模型和逻辑数据模型,你可以参考前面的文章,这一节我们介绍一下物理数据模型 数仓建模—数据模型 数仓建模—逻辑数据模型 什么是物理数据模型 物理数据模型指定如何在数据库中构建数据模型。它概述了所有表结构,包括列名、数据类…

润开鸿与蚂蚁数科达成战略合作,发布基于鸿蒙的mPaaS移动应用开发产品

4月18日&#xff0c;江苏润和软件股份有限公司&#xff08;以下简称“润和软件”&#xff09; 旗下专注鸿蒙方向的专业技术公司及终端操作系统发行版厂商江苏润开鸿数字科技有限公司&#xff08;以下简称“润开鸿”&#xff09;与蚂蚁数科举行战略合作签约仪式&#xff0c;并发…

【Java开发指南 | 第十六篇】Java数组及Arrays类

读者可订阅专栏&#xff1a;Java开发指南 |【CSDN秋说】 文章目录 数组数组特点创建数组处理数组多维数组Arrays类 数组 Java中的数组是一种用来存储固定大小的相同类型元素的数据结构。 数组特点 数组具有以下特点&#xff1a; 1、固定大小: 一旦数组被创建&#xff0c;其…

系统调优助手,PyTorch Profiler TensorBoard 插件教程

0x1. 前言 使用PyTorch Profiler进行性能分析已经一段时间了&#xff0c;毕竟是PyTorch提供的原生profile工具&#xff0c;个人感觉做系统性能分析时感觉比Nsys更方便一些&#xff0c;并且画的图也比较直观。这里翻译一下PyTorch Profiler TensorBoard Plugin的教程并分享一些…

Sui在Basecamp 2024上重塑区块链行业

Sui主网于去年推出&#xff0c;世界各地的社区活动帮助开发者了解了这一开创性的区块链技术的潜力&#xff0c;而Sui Basecamp表明Sui时代已经到来。 来自65个国家的超过1100人参加了今年在巴黎举办的Sui全球活动&#xff0c;以了解Sui在游戏和DeFi领域的坚实立足点。在两天的…

什么是XXE攻击?如何进行防护

安全性很难做到正确&#xff0c;即使在当今具有安全意识的世界中&#xff0c;也存在一些严重的漏洞&#xff0c;例如 XML 外部实体 (XXE)&#xff0c;它们被忽视并最终成为破坏的原因。 XML 外部实体 (XXE) 攻击是一种计算机安全漏洞&#xff0c;通常存在于 Web 应用程序中&…

SpringBoot 项目Docker部署三种方式

一种&#xff1a;直接拷贝jar到服务器部署 1.增加docker配置文件 新建Dockerfile文件&#xff0c;负责Docker的配置 FROM openjdk:21#ENV timezone RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \&& echo Asia/Shanghai >/etc/timezone# WORKD…