目录 STC8H开发(一): 在Keil5中配置和使用FwLib_STC8封装库(图文详解) STC8H开发(二): 在Linux VSCode中配置和使用FwLib_STC8封装库(图文详解) STC8H开发(三): 基于FwLib_STC8的模数转换ADC介绍和演示用例说明 STC8H开发(四): FwLib_STC8 封装库的介绍和使用注意事项 STC8H开发(五): SPI驱动nRF24L01无线模块 STC8H开发(六): SPI驱动ADXL345三轴加速度检测模块 STC8H开发(七…
一.包的概念 包:一系列模块的集合体.包通过文件夹管理一系列功能相近的模块 重点:包中一定有一个专门用来管理包中所有模块的文件 包名:存放一系列模块的文件夹的名字 包名(对象)存放的是管理模块的那个文件的地址,指向其全局名称空间 二.模块的加载顺序 1.模块的加载顺序:内存 => 内置 => sys.path(一系列自定义模块) sys.path:环境变量 2.第一次导入:内存 => 内置 => 自定义 最终在自定义中找到,完成导入,并在内存中缓存模块的内存地址 主文件 impor…
day16 循环导入.模块搜索路径.软件开发.包的使用 1.循环导入 循环导入:循环导入问题指的是在一个模块加载/导入的过程中导入另外一个模块,而在另外一个模块中又返回来导入第一个模块中的名字,由于第一个模块尚未加载完毕,所以引用失败.抛出异常,究其根源就是在python中,同一个模块只会在第一次导入时执行其内部代码,再次导入该模块时,即便是该模块尚未完全加载完毕也不会去重复执行内部代码 解决方案一: # 文件:m1.py print('正在导入m1') # 把代码放在导入上边,让它先加入内存中…
一.程序解耦 解耦总的一句话来说,减少依赖,抽象业务和逻辑,让各个功能实现独立. 直观理解“解耦”,就是我可以替换某个模块,对原来系统的功能不造成影响.是两个东西原来互相影响,现在让他们独立发展:核心思想还是最小职责,每个地方都只做一件事情:只要一个地方负责了多项事情,就存在解耦的可能.在系统每个层次都可以体现解耦的思想,比如在架构层面把存储和业务逻辑解耦,把动态页面和静态页面解耦:在模块层面把业务模块和统计模块解耦:在代码层面把多个功能解耦等等. 低耦合,高内聚---模块之间低耦合,模块内部高…
一.模块和命名空间 一般来说,Python程序往往由多个模块文件构成,通过import语句连接在一起.每个模块文件是一个独立完备的变量包,即一个命名空间.一个模块文件不能看到其他文件定义的变量名,除非它显示地导入了那个文件,所以模块文件在代码文件中起到了最小化命名冲突的作用.因为每个文件都是一个独立完备的命名空间,即使在他们拼写相同的情况下,一个文件的变量名是不会与另一个文件中的变量冲突的. 注意:import VS from:应该指出,from语句在某种意义上战胜了模块的名称空间分割的目的,因…
执行import sys; print(sys.path)查看python搜索路径,确保自己的模块在python搜索路径中 python的搜索路径与包(package) python的搜索路径其实是一个列表,它是指导入模块时,python会自动去找搜索这个列表当中的路径,如果路径中存在要导入的模块文件则导入成功,否则导入失败: >>> import sys >>> sys.path ['', 'C:\\Python33\\Lib\\idlelib', 'C:\\Wind…
Excel对于后端管理系统来说,永远都是绕不开的话题,开发Excel导入导出功能往往都比较麻烦,因为涉及到Excel导入模板制作.Excel表格数据与系统数据库表字段映射.Excel导入数据验证.验证错误数据返回给用户的交互.表格数据唯一判断(不存在新增,存在则修改),复杂一些的还会涉及到多表头.合并单元格情况,可能还会涉及到Excel关联多张数据表的情况. 对于关联多张表的情况,处理这种Excel映射出来的数据必须手动码代码处理,这个是没办法的,但是对于其他常规导入导出以及常规的Excel操作…
第三百二十六节,web爬虫,scrapy模块,解决重复url——自动递归url 一般抓取过的url不重复抓取,那么就需要记录url,判断当前URL如果在记录里说明已经抓取过了,如果不存在说明没抓取过 记录url可以是缓存,或者数据库,如果保存数据库按照以下方式: id URL加密(建索引以便查询) 原始URL 保存URL表里应该至少有以上3个字段1.URL加密(建索引以便查询)字段:用来查询这样速度快,2.原始URL,用来给加密url做对比,防止加密不同的URL出现同样的加密值 自动递归url…
一.可变参数 定义函数时,有时候我们不确定调用的时候会传递多少个参数(不传参也可以).此时,可用包裹(packing)位置参数(*args),或者包裹关键字参数(**kwargs),来进行参数传递,会显得非常方便. 1.包裹位置传递 def send_sms(*args): # 可变参数,参数组 print('phones',args) def say(word): print(word) say(word='nihao') send_sms(110,138,119) say('nihao')…
第十六单元 yum管理RPM包 yum的功能 本地yum配置 光盘挂载和镜像挂载 本地yum配置 网络yum配置 网络yum配置 Yum命令的使用 使用yum安装软件 使用yum删除软件 安装组件 删除组件 清除缓存 查询 课后作业 [本节内容]1. yum的功能:yum是Yellow dog Updater, Modified的缩写,目的就是为了解决RPM的依赖关系的问题,方便使用者进行软件的安装.升级等等工作.2. 掌握光盘挂载和镜像挂载a) 光盘挂载mount /dev/sr0 挂载点或者…