【成长之路】【python】python基础1】的更多相关文章

本文是续 单片机成长之路(51基础篇) - 009 关于sdcc的多文件编译范例(一)编写的. 在实际的工作中,单片机的头文件和功能函数不可能同全部放在同一个文件夹下面,我们把单片机成长之路(51基础篇) - 009 关于sdcc的多文件编译范例的代码进行重新拆分,然后把头文件归类到一个文件夹(include/)下面,便于管理. 拆分前文件目录结构: ├── delay.c ├── delay.h ├── main.c └── makefile 拆分侯生成以下文件: ├── include //…
本文是续 单片机成长之路(51基础篇) - 006 在Linux下搭建51单片机的开发烧写环境编写的. 本范例主要由(main.c ,delay.h,delay.c,makefile)4个文件组成,sdcc的编译环境搭建参照:单片机成长之路(51基础篇) - 006 在Linux下搭建51单片机的开发烧写环境,废话不多,进入主题: main.c(主函数) #include "8051.h" #include "delay.h" #define uint unsign…
[写在前面] 在用requests库对自己的CSDN个人博客(https://blog.csdn.net/yuzipeng)进行爬取时,发现乱码报错(\xe4\xb8\xb0\xe5\xaf\x8c\xe7\x9),如下图所示: 网上 查找了一些方法,以为是遇到了网站加密处理.后来发现 通过F12还 是能获取网页的元素,那么有什么办法能规避乱码问题呢?答案是:用selenium. [效果如下] [示例代码] # coding=utf-8 # @Auther : "鹏哥贼优秀" # @D…
一.面向对象基础 面向对象名词解释: 类(Class): 用来描述具有相同的属性和方法的对象的集合.它定义了该集合中每个对象所共有的属性和方法.对象是类的实例. 类变量:类变量在整个实例化的对象中是公用的.类变量定义在类中且在函数体之外.类变量通常不作为实例变量使用. 数据成员:类变量或者实例变量用于处理类及其实例对象的相关的数据. 方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写. 实例变量:定义在方法中的变量,只作…
shelve模块 shelve模块是pickle模块的扩展,可以通过key,value的方式访问pickle持久化保存的数据 持久化保存: 1 2 3 4 5 6 7 8 9 10 11 12 13 import shelve sw = shelve.open('shelve_test.pkl') # 创建shelve对象   name = ['13', '14', '145', 6] # 创建一个列表 dist_test = {"k1":"v1", "k…
os模块 提供对操作系统进行调用的接口 >>> import os >>> os.getcwd() # 获取当前工作目录,类似linux的pwd命令 '/data/python/day5' >>> os.chdir('..') # 进入某个目录,类似linux的cd命令 >>> os.getcwd() '/data/python' >>> os.curdir # 获取当前目录 '.' >>> os.…
1 课程起源 有一次在工作中编写python工具时,遇到一个 问题:从配置文件读取变量A后,无法在内存中把A的值改变成新的内容.为了解决"更新内存中变量"的这个问题,查找了一些帖子,结果发现了有个很简单的方便 -- 使用global关键字! 2 global关键字 官方对global关键字的作用说明如下: global关键字用来在函数或其他局部作用域中使用全局变量. 不好理解没事,先上传一段简单的代码: x = 1 def func(): print(x) func() 结果是:1 虽…
[写在前面] 有时候看到大神们的代码,偶尔会用到@来装饰函数.当时查了资料,大致了解装饰器一般用于在不改变原函数的基础上 ,对原函数功能进行修改/增强.使用场景是:日志级别设置.权限校验.性能测试等. 在当前工作中,还没具体使用到这一神器.所以想着,先了解下装饰器的使用方法,方便以后工作时用到. [小碎步走起来] 1.实现a+b的功能 def A(a, b): print(a + b) return a + b if __name__ == "__main__": A(1, 2) 2.…
在Linux下没有像keli那样好用的IDE来开发51单片机,开发环境只能自己搭建了. 第一步:安装交叉编译工具 a) 安装SDCC sudo apt-get install sdcc b)测试SDCC是否可用,这是个网上找的简单的流水灯代码 test.c, 用来测试 #include "8051.h" #define uint unsigned int #define uchar unsigned char uchar tab[] = {0x01,0x02,0x04,0x08,0x1…
标准 C 语言定义了 32 个关键字,如下表(ANSI C的32个关键字): C51在此基础上针对单片机功能进行了扩展,详情见下表(C51编译器扩充关键字): C 51的数据类型 51单片机使用的C语言的存储器类型分为以下几种:…
N76e003单片机内部没有EEPROM,但是可以使用 APROM模拟EEPROM功能,代码如下: eeprom.h #ifndef _EEPROM_H_ #define _EEPROM_H_ //EEPROM 指令 #define BYTE_PROGRAM_AP 0x21 //APROM 字节编程(数据写入) #define PAGE_ERASE_AP 0x22 //APROM 页擦除 (128字节) #define BYTE_Read_AP 0x00 //APROM 字节读 (数据字节) /…
最近又看了一下关于stc单片机的知识,感觉在使用中EEPROM是个经常用到的东西,特地学习了一下,给大家分享一下心得,如有不足,多多包涵,废话不多说,一图解千言,先上图: /*--------------------------------------------------------------分界线-----------------------------------------------------------------------------------*/ main_eeppro…
T2CON:定时器控制寄存器 寄存器地址0C8H,位寻址0C8H-0CFH. 位地址 CF CE CD CC CB CA C9 C8 位符号 TF2 EXF2 RCLK TCLK EXEN2 TR2 C/T2 CP/RL2 TF2:T2溢出标记 当T2溢出时TF2=1,TD2只能用软件清除 当RCLK=1或TCLK=1时,TF2将不置位 EXF2:T2外部标记 当EXEN2=1时,T2EX/P1.1引脚上的负跳变引起T2的捕捉/重装操作,此时EXF2=1.在T2中断允许时,EXF2=1将引起中断…
TMOD:工作方式控制寄存器 寄存器地址89H,不可位寻址. 位序 B7 B6 B5 B4 B3 B2 B1 B0 位符号 GATE C/T M1 M0 GATE C/T M1 M0 GATE——门控位 当=0时,以TR0(或TR1)状态决定定时器/计数器的启动或禁止 当=1时,以TR0与INT0(或TR1与INT1)状态决定定时器/计数器的启动或禁止    C/T=0 定时/计数工作方式选择位   0为定时器  1为计数器.  M1M0——工作方式选择位 M1M0= 方式0:是13位计数结构的…
比较全的CH340,CH341应用说明 CH340 以前用USB转串口时图方便一般也都是直接买现成的USB转串口模块,但是后面设计需要,不等不将CH340这个模块集成到电路板中,经过多次失败,终于得到稳定的工作电路了,以下是CH340的说明. 特点 1.全速USB设备接口,兼容USB V2.0,外围元器件只需要晶体和电容. 2.仿真标准串口,用于升级原串口外围设备,或者通过USB增加额外串口. 3.计算机端Windows操作系统下的串口应用程序完全兼容,无需修改 4.硬件全双工串口,内置收发缓冲…
用户应用程序在运行过程中,有时会有特殊需求,需要实现单片机系统复位(热启动之一),传统的8051单片机由于硬件上未支持此功能,用户必须用软件模拟实现,实现起来较麻烦.STC单片机增加了相应的硬件功能,内部的ISP/IAP控制寄存器ISP_CONTR便可以实现此功能.用户只需简单的控制ISP_CONTR特殊功能寄存器的其中两位SWBS和SWRST就可以实现系统复位. ISP/IAP控制寄存器(ISP_CONTR) STC单片机ISP/IAP控制寄存器在特殊功能寄存器中的字节地址为E7H,不能位寻址…
BOOT区的由来基于一个简单的道理,即单片机的程序是保存在FLASH中的,要运行程序就必须不停的访问FLASH存储器.对于一般的FLASH存储器,数据的写入需要一定的时间来完成,在数据写入完成之前,存储器中所有的数据都是不可读的,这就在运行旧程序和写入新程序之间造成了一个矛盾. 使用BOOT区是解决这个矛盾的方法之一,它将FLASH存储器从物理上分为两个独立的区域,对其中的一个区的数据写入不会影响到另一个区的数据读取操作.我们可以让单片机的程序在其中一个区(通常是BOOT区)运行,而运行着的程序…
STC单片机简介 STC单片机是一款增强型51单片机,完全兼容MCS-51,还增加了新的功能,比如新增两级中断优先级,多一个外中断,内置EEPROM,硬件看门狗,具有掉电模式,512B内存等.还支持ISP下载,不用编程器,只要一个MAX232和一些廉价的元件就能写程序,可擦写10万次.因此是一款很好用的单片机. stc单片机的优缺点 stc单片机优点: 1.抗干扰能力强: 2.保密性能强悍,很难被破解: 3.单片机时钟有防外部电磁辐射功能: stc单片机缺点: 1.功耗较高,5V供电: 2.8位…
ISP(In-System Programming)在系统可编程,指电路板上的空白器件可以编程写入最终用户代码, 而不需要从电路板上取下器件,已经编程的器件也可以用ISP方式擦除或再编程.IAP(In-Application Programming) 指MCU可以在系统中获取新代码并对自己重新编程,即可用程序来改变程序.ISP和IAP技术是未来仪器仪表的发展方向. 1   ISP和IAP的工作原理 ISP的实现相对要简单一些,一般通用做法是内部的存储器可以由上位机的软件通过串口来进行改写.对于单…
从数据存储类型来说,8051系列有片内.片外程序存储器,片内.片外数据存储器,片内程序存储器还分直接寻址区和间接寻址类型,分别对应code.data.xdata.idata以及根据51系列特点而设定的pdata类型,使用不同的存储器,将使程序执行效率不同,在编写C51程序时,最好指定变量的存储类型,这样将有利于提高程序执行效率(此问题将在后面专门讲述).与ANSI-C稍有不同,它只分SAMLL.COMPACT.LARGE模式,各种不同的模式对应不同的实际硬件系统,也将有不同的编译结果. 在51系…
基于stc89c52的看门狗,代码如下: main.c #include "stc89c5x_Quick_configuration.h" // 自定义头文件 #include "data.h" #include "bsp_gpio.h" #include "bsp_wdt.h" void init_OS_Time(void){ DATA.Time.Time_Interrupt = ; // 设置步长 DATA.Time.In…
stm8 时钟切换; /************************************ 时钟设置 ************************************/ // 时钟 0:内部高速 1:内部低速 2:外部 3:保留 void set_System_clock(char clock_mode){ // set CPUDIV CLK_CKDIVR &= 0xf8;CLK_CKDIVR |= 0x00; // 设置 CPUDIV 不分频 switch(clock_mode)…
前端时间要用按键,搞了个状态机(如图): main.c #include <N76E003.H> #include <SFR_Macro.h> //N76E003 SFR寄存器设置宏定义 #include <Function_define.h> //功能定义 #include "data.h" #include "interrupt.h" #include "button.h" /*--------------…
N76e003切换到外部时钟的资料很少(因为N76e003的片子是不支持无源晶振的,有源晶振的成本又很高,所以网上很少有对N76e003的介绍).有图有真相: 代码如下: main.c #include <N76E003.H> #include <SFR_Macro.h> #include <Function_Define.h> bit BIT_TMP; // 调用 SFR_Macro.h 使用的 void main(void){ // 开通外部 set_EXTEN1;…
一.三大编程范式 正本清源一:有人说,函数式编程就是用函数编程-->错误1 编程范式即编程的方法论,标识一种编程风格 大家学习了基本的Python语法后,大家就可以写Python代码了,然后每个人写代码的风格不同,这些不同的风格就代表了不同的流派 如果把Python的基本语法比作武术的基本功那么不同的编程风格就好比不同的武林门派 虽然大家风格不同,但是都可以完成你的编程需求,Python是一门面向对象的编程语言,但是到目前为止,你从未接触面向对象编程,然而你已经可以解决很多问题了,在Python…
五.Python的常用的内置函数 Python为我们准备了大量的内置函数,如下图所示 这里我们只讨论红框内的内置函数 abs(x) 返回一个数的绝对值(模),参数可以是真说或浮点数 >>> abs(-10) 10 all(iterable) 如果可迭代对象(列表.元祖等)中所有的元素都是True,则返回True,否则返回False.相当于and >>> all([1, True, 1 == 1]) True any(iterable) 如果可迭代对象中任意一个元素是Tr…
python工程师成长之路精品课程(全套)  有需要联系我:QQ:1844912514 什么是Python? Python是一门面向对象的编程语言,它相对于其他语言,更加易学.易读,非常适合快速开发. python的优势? Python具有简单.易学.免费.开源.可移植.可扩展.可嵌入.面向对象等优点,它的面向对象甚至比java和C#.net更彻底. 作为一种通用语言,Python几乎可以用在任何领域和场合,角色几乎是无限的,国内:豆瓣.搜狐.金山.腾讯.网易.百度等国内知名公司及国际大公司都用…
Python之路,Day4 - Python基础4 (new版)   本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件目录结构规范 作业:ATM项目开发 1.列表生成式,迭代器&生成器 列表生成式 孩子,我现在有个需求,看列表[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],我要求你把列表里的每个值加1,你怎么实现?你可能会想到2种方式 >>> a [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >&g…
目录: 函数 为什么要使用函数 什么是函数 函数的返回值 文档化函数 函数传参数 文件操作(二) 1.文件操作的步骤 2.文件的内置方法 函数: 一.为什么要使用函数 在日常写代码中,我们会发现有很多代码是重复利用的,这样会使我们的代码变得异常臃肿,比如说: 我们要写一个验证码的功能 例子: 比如说我们要进行一些操作,而这些操作需要填写验证码 验证码代码: import random number_check = '' for i in range(0,6): number_curr = ran…
[Python成长之路]装逼的一行代码:快速共享文件 2019-10-26 15:30:05 华为云 阅读数 335 文章标签: Python编程编程语言程序员Python开发 更多 分类专栏: 技术交流   原文链接:https://mp.weixin.qq.com/s?src=11×tamp=1572074898&ver=1935&signature=VP7yvKTOEYvifpFMq4UxY*VCyeqNLtaprdw1F1m4my9ulfetcHfSykFtg4CeFShVUW5O…