08模块和异常

一、生成器

1.什么是生成器

1)容器(是一种可以创建多个数据的容器),生成器中保存的是创建数据的方法,而不是数据本身
2)特点:
a.打印生成器无法查看元素;
b.不能通过len()统计元素的个数;
c.如果需要生成器中的数据,必须将数据取出,而且取一个就少一个
3)生成器获取元素的方式和迭代器获取元素的方式一模一样,若取完了再取,会报错,转成列表会得到空列表。next(生成器)

2.怎么创建生成器

调用带有yeild关键字的函数,就可以得到一个生成器

3.怎么控制生成器中元素的个数和元素的值

执行创建生成器的函数的函数体的时候,会遇到几次yield,对应的生成器就可以创建几个元素,每次遇到yield,yield后面的值就是能创建出来的数据

#二、模块

1.什么是模块

python中一个py文件就是一个模块

2.怎么在一个模块中使用另外一个模块中的内容

1)前提:如果想要在一个模块中使用另外一个模块中的内容,被使用的模块的模块名必须符合变量名的要求(标识符,不是关键字)
2)用法 — 必先导入再使用。(导入模块)
a. import 模块名 --导入指定模块,导入后可以通过’模块名.xxx’的方式使用这个模块中所有的内容

import test #导入模块
print(test.a)
print(test.name) 使用name的数据
test.f_test1() #使用函数

b. from 模块名 import 内容1,内容2… — 导入指定模块,导入后可以直接使用指定内容

from test import a,f_test1
print(a)
f_test1()

c. form 模块名 import* — 导入指定模块,导入可以直接使用模块中的所有内容。

from test import *
print(a)
print(name)
f_test1()

d.import 模块名 as 新模块名 — 导入指定模块后对对应模块进行重命名:‘新模块名.XXX’

import test as t1 #避免与下面的test重

test = 1000

print(t1.a)
print(t1.name)
t1.f_test1()

print(test) #1000

e.from 模块名 import 内容1 as 新内容1 — 对导入的内容重命名

from test import name as t_name, a
name = '小花' #如果上面导入的时候不重命名,会导致后面的name='小花'覆盖原本的name的内容
print(name)
print(t_name)
print(a)

三、包

1.什么是包

包含_ init _.py文件的文件夹就是包。

2.怎么使用包或者文件夹中的模块中的内容

  1. import 包名 — 导入指定的包,导入后可以通过’包名.XXX’去使用包中_ init _.py文件中的所有的内容。(只适用于包,文件夹不行)
import files2 #导入包(创建包的时候会自动创建出_  init  _.py文件)
print(files2.name) 

2)from 包名 import 模块名1,模块名2,… — 导入指定包中指定的模块,导入后可以通过’模块名.XXX’使用指定模块中的内容(适用于包和文件夹)

from files2 import test2, test4, pi, f_test2 #后两个是init下的内容,可以直接导入
print(test2.msg)
print(test4.abc)
print(pi)
f_test2()

3)from 包名 import 内容1,内容2,…(只适用于包)导入指定包中_ init _.py文件中的指定内容【直接用init文件中的内容】

4)import 包名.模块名 — 适用于包和文件夹(可以后面加as进行重命名,然后.内容来获取内容)

import files2.wea as t2
print(t2.list1)

5)from 包名.模块名 import 内容1,内容2,…

from files2.test2 import msg
print(msg)

from files2.abc.test3 import demo
print(demo)

四、异常捕获

1.什么是异常–程序中的错误

程序出现异常(报错)会直接让程序结束运行(在哪个位置出现的异常,程序就会在哪个地方结束)

2.异常捕获 – 让程序在出现异常的时候程序不结束,还可以接着往后执行

语法结构1:–捕获所有的异常
try:
代码段1(需要捕获异常的代码)
except:
代码段2(出现异常后会执行的代码)
finally:(每个结构后都可以加finally)
代码段3 --无论如何都会执行,就算前面的代码出现异常没有捕获到,他还是会执行

执行过程:先执行代码段1,执行代码段1的时候如果没有出现异常,就不执行代码段2;如果出现异常,程序不报错,并且马上执行代码段2

语法结构2(推荐使用):–捕获指定类型的异常(避免出现意料以外的异常)
try:
代码段1(需要捕获异常的代码)
except 异常类型: #出现该异常类型不会报错,执行代码段2
代码段2(出现异常后会执行的代码)

语法结构3:–同时捕获多种
try:
代码段1(需要捕获异常的代码)
except (异常类型1,异常类型2,…):
代码段2(出现异常后会执行的代码)

语法结构4:–同时捕获多种
try:
代码段1(需要捕获异常的代码)
except 异常类型1:
代码段11
except (异常类型2,异常类型22,…):
代码段22
except 异常类型3:
代码段33

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: RA-08是一款基于SX1278芯片的LoRa无线模块,进入BOOTLOADING模式的方法如下: 1. 将RA-08的BOOT脚接到GND。 2. 将RA-08的RESET脚接到GND,然后再接到VCC。 3. 通过串口连接到RA-08,并发送“U”字符。 4. RA-08将会进入BOOTLOADING模式。 注意:在进入BOOTLOADING模式后,需要发送正确的固件,否则可能会导致模块无法正常工作。建议在进行固件升级等操作前,先备份原有固件以防万一。 ### 回答2: RA-08模块是一款低功耗的无线通信模块,进入BOOTLOADING模式通常有两种方法。 第一种方法是使用串口助手软件连接到RA-08模块,设置串口通信参数后发送一个特定的命令或者按下模块上的复位按键。模块接收到命令或者按键后将自动进入BOOTLOADING模式。 第二种方法是通过IO引脚来控制模块进入BOOTLOADING模式。具体来说,将IO2引脚先拉低,然后给VDD引脚上电,再释放IO2引脚即可使模块进入BOOTLOADING模式。 无论是哪种方法,进入BOOTLOADING模式后可以通过对模块进行固件升级或者其他相关操作来完成模块的功能扩展或者故障修复。重要的是在进行这些操作之前,要先确保备份原有固件,并且确保使用的新固件版本是兼容的。另外,需要遵循相关操作手册上的指引来保证操作的正确性,以免造成模块的损坏或者功能异常。 ### 回答3: RA-08 是一款电子设备,进入BOOTLOADING模式是为了对其进行固件升级或者修复可能存在的软件故障。下面是进入RA-08的BOOTLOADING模式的步骤: 1. 确保RA-08设备已经断电或者关闭。 2. 将RA-08设备与电脑通过USB数据线连接起来。 3. 打开电脑上的设备管理器(可以通过在开始菜单中搜索“设备管理器”来找到)。 4. 在设备管理器中找到RA-08设备,并右键点击打开设备属性。 5. 在设备属性中,找到“驱动程序”选项,并选择“更新驱动程序”。 6. 在更新驱动程序的过程中,选择“浏览计算机以查找驱动程序软件”选项。 7. 在浏览计算机中选择“让我从计算机上的可用驱动程序列表中选择”选项。 8. 在可用驱动程序列表中选择“启动录制设备”。 9. 完成上述步骤后,RA-08设备将进入BOOTLOADING模式,此时你可以通过专业的固件升级工具对其进行升级或修复操作。 需要注意的是,进入BOOTLOADING模式可能会因设备型号和操作系统的不同而有所变化,上述步骤仅供参考,具体操作请参考相关设备的用户手册或者技术支持文档。在进行固件升级或修复操作之前,请确保已备份重要数据以防意外损失。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值