day13 模块和异常捕获总结
day13 模块和异常捕获
一、生成器
(一)、什么是生成器
1)容器(是一种可以创建多个数据的容器),生成器中保存的是创建数据的方法,而不是数据本身。2)特点:
a. 打印生成器无法查看元素
b.不能通过len统计生成器中的元素的个数
c.如果需要生成器中的数据,必须将数据取出来,而且去一个就少一个c.生成器获取元素的方法和得嗲气获取元素的方式一样
(二)、怎么创建生成器
调用带有yield关键字的函数,就可以得到一个生成器
def func():yieldprint('hello')
(三)、怎么控制生成器中元素的个数和元素的值
执行创建生成器的函数的函数体的时候,会遇到几次yield,对应的生成器就可以创建几个数据,每次遇到yield,yield后面的值就是能创建出来的数据。
二、模块
(一)、什么是模块
python中一个py文件就是一个模块
(二)、怎么在一个模块中使用另外一个模块中的内容
1)前提:如果想要在一个模块中使用另外一个模块中的内容,被使用的模块的模块名必须复合变量名的要求2)导入模块
a. import 模块名 —— 导入后可以通过‘模块名.xxx’的方式使用这个模块中所有的内容
b.from 模块名 import 内容1,内容2,... —— 导入指定模块,导入后可以直接使用指定内容。
c. from 模块名 import * —— 导入指定模块,导入后可以直接使用模块中所有的内容
d. import 模块名 as 新模块名 —— 导入指定模块后,对模块进行重命名:‘新模块名.xxx’
e. from 模块名 import 内容1 as 新内容1 —— 对导入的内容重命名
导入方式1:
import test
print(test.func1())
print(test.a)
导入方式2:
from test import a, func1
func1()
print(name) # 会报错,因为name模块没有从test模块中导入进来
导入方式3:
from test import *
print(a)
print(name)
func1()
导入方式4:
import test as t1
print(t1.name)
print(t1.a)
t1.func1()
导入方式5:
from test import name as t_name
print(t_name) # 小明from test import a as t_a
print(t_a) # 100from test import func1 as t_func1
t_func1() # 你好,世界!
三、包
(一)、什么是包
包含_ _init_ _.py文件的文件夹就是包
(二)、怎么使用包或者文件夹中的模块中的内容
1)import 包名 —— (只适用于包)导入指定的包,导入后可以通过‘包名.xxx’去使用__init__.py文件中所有的内容2)from 包名 import 模块名1,模块名2,模块名3,... —— (同时适用于包和普通文件夹)导入指定包中指定的模块,导入后可以通过‘模块名.xxx’来使用模块中的内容
3)from 包名 import 内容1,内容2,... —— (只适用于包)导入指定包中__init__.py文件中的指定内容
4)import 包名.模块名 —— (同时适用于包和普通文件夹)
5)from 包名.模块名 import 内容1,内容2,... —— (同时适用于包和普通文件夹)
导入方式1:
import files2
导入方式2:
from files1 import abc
导入方式3:
from files2 import age
导入方式4:
import files1.abc
导入方式5:
from files1.abc import xjh
注:以上几种方式设计的文件和模块都是在pycharm中创建好了的包或者文件
四、异常捕获
(一)、异常 —— 程序中的错误
程序出现异常(报错)会直接让程序结束运行,在哪个位置出现的异常,程序就会在哪个位置结束
(二)、异常捕获 —— 让程序在出现异常的时候程序不结束,还可以接着往后执行
1)语法结构1 —— 捕获所有异常
try:代码段1 —— 需要捕获异常的代码
except:代码段2 —— 出现异常后立刻执行的代码
finally:代码段3 —— 最后无论如何都会执行的代码执行过程:先执行代码段1,执行代码段1的时候如果没有出现异常,就不执行代码段2,如果出现异常,程序不会报错,并且马上执行代码段2
try:age = int(input('请输入你的年龄:'))
except:print('年龄输入有误')
2)语法结构(推荐使用) —— 捕获指定类型的异常
try:代码段1 —— 需要捕获异常的代码
except 异常类型:代码段2 —— 出现异常后立刻执行的代码
finally:代码段3 —— 最后无论如何都会执行的代码
3)语法结构3 —— 同时捕获多种异常
try:代码段1 —— 需要捕获异常的代码
except (异常类型1,异常类型2,...)代码段2 —— 出现异常后立刻执行的代码
finally:代码段3 —— 最后无论如何都会执行的代码
4)语法结构 —— 同时捕获多种异常
try:代码段1
except 异常类型1:代码段11
except (异常类型2,异常类型22,...):代码段22
except 异常类型3:代码段33
finally:代码段3 —— 最后无论如何都会执行的代码
...
相关文章:
day13 模块和异常捕获总结
day13 模块和异常捕获 一、生成器 (一)、什么是生成器 1)容器(是一种可以创建多个数据的容器),生成器中保存的是创建数据的方法,而不是数据本身。2)特点: a. 打印生成…...

【Linux】进程优先级 环境变量
进程优先级 环境变量 一、进程优先级1、基本概念2、查看以及修改系统进程的优先级3、一些其他的关于进程优先级的指令和函数调用4、与进程优先级有关的一些进程性质二、环境变量1、基本概念2、和环境变量相关的命令3、Linux中的常见环境变量介绍4、环境变量的组织方式以及在C代…...

UE实现建筑分层抽屉展示效果
文章目录 1.实现目标2.实现过程2.1 基础设置2.2 核心函数3.参考资料1.实现目标 使用时间轴对建筑楼层的位置偏移进行控制,实现分层抽屉的动画展示效果。 2.实现过程 建筑抽屉的实现原理比较简单,即对Actor的位置进行偏移,计算并更新其世界位置即可。这里还是基于ArchVizExp…...

【C语言进阶:刨根究底字符串函数】 strstr 函数
本节重点内容: 深入理解strstr函数的使用学会strstr函数的模拟实现⚡strstr strstr的基本使用: #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include<string.h>int main() {char arr1[] "abcdebcdef";char arr2[] &…...

SpringBoot实战(十二)集成Actuator
目录一、简介二、Maven依赖三、使用入门1.HTTP 方式访问端点2.JMX 方式访问端点3.端点信息整理4.端点的启用与禁用5.端点的公开6.保护 HTTP 端点7.配置 CORS 跨域官方文档: https://docs.spring.io/spring-boot/docs/2.4.5/reference/htmlsingle/#production-ready …...

学习系统编程No.7【进程替换】
引言: 北京时间:2023/3/21/7:17,这篇博客本来昨天晚上就能开始写的,但是由于笔试强训的原因,导致时间用在了做题上,通过快2个小时的垂死挣扎,我充分意识到了自己做题能力的缺陷和运用新知识的缺…...
【3.22】操作系统内存管理(整理)、Java并发
3. 内存管理 为什么要有虚拟内存? 我们想要同时在内存中运行多个程序,就需要把进程所使用的地址隔离,所以使用了虚拟内存。简单来说,虚拟内存地址是程序使用的内存地址。物理内存地址是实际存在硬件里面的地址。 操作系统为每个…...
电脑文件丢失怎么找回来
电脑文件丢失怎么找回来?最近打开电脑时,它启动得很慢。刚刚开始我没有没在意,就重启了当我再次打开电脑时,发现桌面上的文件消失了,面对这种意外情况,有什么办法可以快速找到呢? 电脑文件丢失后,想要找回…...

Python(白银时代)——面向对象
基本概念 面向过程 是早期的一个编程概念,类似函数,但是没有返回值 具体做法: 把完成某个需求的所有步骤,从头到尾 逐步实现 将某些功能独立的代码 封装成一个又一个 函数 然后顺序调用不同的函数 特点: 注重 步骤…...

Python流星雨代码
前言 用Python画场流星雨看看,源码见文末公众号哈。 流星类 def __init__(self): self.r ra.randint(50,100) self.t ra.randint(1,3) self.x ra.randint(-2000,1000) #流星的横坐标 self.y ra.randint(0,500) #流星…...

Java语言-----类与对象的秘密
目录 前言 一、类与对象的介绍 二、类的实例化 三.类与对象的使用方法 3.1对象的初始化 3.2内存显示图 四.this的使用方法 总结 😽个人主页: tq02的博客_CSDN博客-C语言,Java领域博主 🌈理想目标:努力学习,向Java进…...

大数据处理学习笔记2.1 初识Spark
文章目录零、本节学习目标一、Spark的概述(一)Spark的组件1、Spark Core2、Spark SQL3、Spark Streaming4、MLlib5、Graph X6、独立调度器、Yarn、Mesos(二)Spark的发展史1、发展简史2、目前最新版本二、Spark的特点(一…...

太强了,英伟达面对ChatGPT还有这一招...
大家好,我是 Jack。 今年可谓是 AI 元年,ChatGPT、AIGC、VITS 都火了一波。 我也先后发布了这几期视频: 这是一个大模型的时代,AI 能在文本、图像、音频等领域大放异彩,得益于大模型。而想要预训练大模型,…...

【微服务】—— Nacos注册中心
文章目录一、Nacos 注册中心的设计原理1、数据模型2、数据⼀致性3、负载均衡4、健康检查二、Nacos 注册中心服务数据模型1、服务(Service)和服务实例(Instance)1)定义服务2)服务元数据3)定义实例…...

GPT-4是个编程高手,真服了!
上周给大家发了一个GPT-4教数学的介绍,很多人都被震撼了,感觉有可能在教育行业引发革命。它在编程领域表现如何?先不说能否替代程序员,这个还有待更多的测试和反馈,我想先试试它能不能像教数学那样教编程。我找了个Jav…...

基于深度学习的车型识别系统(Python+清新界面+数据集)
摘要:基于深度学习的车型识别系统用于识别不同类型的车辆,应用YOLO V5算法根据不同尺寸大小区分和检测车辆,并统计各类型数量以辅助智能交通管理。本文详细介绍车型识别系统,在介绍算法原理的同时,给出Python的实现代码…...

【蓝桥杯C++】3月21日刷题集训ABC-附百分代码,一目了然
目录 刷题集训 A Day 1 成绩分析 Day 1 饮料换购 刷题集训 B Day 1 分巧克力 Day 1 递增三元组 Day 1 小明的衣服 刷题集训 C Day 1 数字三角形 Day 1 跳跃 Day 1 蓝太子序列 刷题集训 A Day 1 成绩分析 题目描述 小蓝给学生…...

HBase高手之路4-Shell操作
文章目录HBase高手之路3—HBase的shell操作一、hbase的shell命令汇总二、需求三、表的操作1.进入shell命令行2.创建表3.查看表的定义4.列出所有的表5.删除表1)禁用表2)启用表3)删除表四、数据的操作1.添加数…...
聊聊SQL审计功能
什么是sql审计SQL审计是指对SQL语句的执行情况进行记录和追踪,包括SQL语句的执行时间、执行次数、执行结果等信息。通过SQL审计,可以对数据库的使用情况进行监控和管理,包括对SQL注入、非法访问、数据泄露等安全问题的检测和防范,…...
Markdown常用语法(字体颜色)
一些不错的帖子 写CSDN博客时,调节字体大小、颜色及其他样式的常用操作方法 设置字体颜色 使用<font>标记: 这是红色字体:<font colorred>我是红色的字体</font>显示效果如下: 这是红色字体:我是…...

IDEA运行Tomcat出现乱码问题解决汇总
最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…...
反向工程与模型迁移:打造未来商品详情API的可持续创新体系
在电商行业蓬勃发展的当下,商品详情API作为连接电商平台与开发者、商家及用户的关键纽带,其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息(如名称、价格、库存等)的获取与展示,已难以满足市场对个性化、智能…...
五年级数学知识边界总结思考-下册
目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解:由来、作用与意义**一、知识点核心内容****二、知识点的由来:从生活实践到数学抽象****三、知识的作用:解决实际问题的工具****四、学习的意义:培养核心素养…...
如何为服务器生成TLS证书
TLS(Transport Layer Security)证书是确保网络通信安全的重要手段,它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书,可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...
鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南
1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发,使用DevEco Studio作为开发工具,采用Java语言实现,包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...

浪潮交换机配置track检测实现高速公路收费网络主备切换NQA
浪潮交换机track配置 项目背景高速网络拓扑网络情况分析通信线路收费网络路由 收费汇聚交换机相应配置收费汇聚track配置 项目背景 在实施省内一条高速公路时遇到的需求,本次涉及的主要是收费汇聚交换机的配置,浪潮网络设备在高速项目很少,通…...

【Linux系统】Linux环境变量:系统配置的隐形指挥官
。# Linux系列 文章目录 前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变量的生命周期 四、环境变量的组织方式五、C语言对环境变量的操作5.1 设置环境变量:setenv5.2 删除环境变量:unsetenv5.3 遍历所有环境…...

在 Visual Studio Code 中使用驭码 CodeRider 提升开发效率:以冒泡排序为例
目录 前言1 插件安装与配置1.1 安装驭码 CodeRider1.2 初始配置建议 2 示例代码:冒泡排序3 驭码 CodeRider 功能详解3.1 功能概览3.2 代码解释功能3.3 自动注释生成3.4 逻辑修改功能3.5 单元测试自动生成3.6 代码优化建议 4 驭码的实际应用建议5 常见问题与解决建议…...
k8s从入门到放弃之Pod的容器探针检测
k8s从入门到放弃之Pod的容器探针检测 在Kubernetes(简称K8s)中,容器探测是指kubelet对容器执行定期诊断的过程,以确保容器中的应用程序处于预期的状态。这些探测是保障应用健康和高可用性的重要机制。Kubernetes提供了两种种类型…...
C/Python/Go示例 | Socket Programing与RPC
Socket Programming介绍 Computer networking这个领域围绕着两台电脑或者同一台电脑内的不同进程之间的数据传输和信息交流,会涉及到许多有意思的话题,诸如怎么确保对方能收到信息,怎么应对数据丢失、被污染或者顺序混乱,怎么提高…...