▼ 程序人生
C/C++、Python、MATLAB、架构等笔记
罗伯特祥
读万卷书,也要行万里路!
展开
-
vscode注释乱码的最简单解决方案
原创 2021-02-16 18:20:48 · 1109 阅读 · 0 评论 -
python面向对象编程
文章目录1. 类的定义及使用2. 类继承3. 对象销毁4. 方法重写5. 重载6. 私有属性及方法1. 类的定义及使用在类的内部,使用 def 关键字可以为类定义一个方法,与一般函数定义不同,类方法必须包含参数 self,且为第一个参数Python2:#!/usr/bin/python# -*- coding: UTF-8 -*- class Employee: '所有员工的基类' empCount = 0 def __init__(self, name, salar原创 2020-08-08 18:53:56 · 237 阅读 · 0 评论 -
python中命名空间和作用域
1. 命名空间Python 的查找顺序为:局部的命名空间去 -> 全局命名空间 -> 内置命名空间命名空间的生命周期取决于对象的作用域,如果对象执行完成,则该命名空间的生命周期就结束。因此,我们无法从外部命名空间访问内部命名空间的对象!# var1 是全局名称var1 = 5def some_func(): # var2 是局部名称 var2 = 6 def some_inner_func(): # var3 是内嵌的局部名称原创 2020-08-08 18:52:54 · 219 阅读 · 0 评论 -
python中__init__.py的使用
1. __init__.py__init__.py 文件的作用是将文件夹变为一个Python模块,Python 中的每个模块的包中,都有__init__.py 文件.我们在导入一个包时,实际上是导入了它的__init__.py文件。这样我们可以在__init__.py文件中批量导入我们所需要的模块,而不再需要一个一个的导入。.└── mypackage ├── __init__.py ├── subpackage_1 │ ├── test11.py │ └──原创 2020-08-08 18:52:22 · 1075 阅读 · 0 评论 -
python执行终端命令及自动密码输入
方案1:利用OS模块import os# 法1os.system('ls') #执行成功返回0,否则返回1,命令错误则执行报错# 法2os.popen('ls').read() #popen执行成功返回文件对象,文件内容为命令行执行结果,read获取内容方案2:利用subprocess模块注意:commands已被此模块代替import subprocesssubprocess.call("ls", shell=True) # 执行指定的命令,返回命令执行状态,其功能类似于os.原创 2020-06-28 13:07:19 · 10774 阅读 · 2 评论 -
Linux中定时器对sleep的影响
先上结论,测试代码附文末:现象及结论:如果定时器定时长度小于主函数中sleep的时间,那么sleep的睡眠时间将等于定时器定时时长。如果定时器定时长度大于主函数中sleep的时间,那么sleep的睡眠时间保持不变。原因分析: sleep函数是进程阻塞函数,工作时首先将进程阻塞掉,等待硬件定时器事件到达,内核再将进程排入就绪队列,从而唤醒进程。 博主推测,定时器定时时长小于sleep时长时,当定时器到达定时时间,会同步唤醒进程,相当于sleep提前结束。博主对内核原创 2020-05-21 08:44:54 · 1482 阅读 · 0 评论 -
linux下定时器的使用及信号操作
文章目录数据结构定时器类型方法测试代码sigaction函数数据结构定时器结构:struct itimerval{ struct timerval it_value;//Interval for periodic timer,从设置定时器开始到第一次定时器生效的时间 struct timerval it_interval;//Time until next expiration,定时器生效的时间间隔}① 若it_value=0,系统将无视it_interval并终止定时器,因此可利原创 2020-05-20 22:26:04 · 1321 阅读 · 0 评论 -
Qt学习第7天:Qt中常用的快捷键【笔记】
文章目录几个实用快捷键其他几个实用快捷键F1 查看帮助(选中某一类或函数,按下F1,出现帮助文档)F2 在光标选中对象的声明和定义之间切换Ctrl + / 多行注释/取消多行注释Ctrl + Shift + R 局部变量统一修改(将光标移动到需要更改的变量上,按Ctrl+Shift+ R,当前变量名称外框为红色时,表示已经已激活全局修改功能,当修改此处变量名称时将一同修改代码中所有使用...原创 2020-05-19 11:34:49 · 372 阅读 · 0 评论 -
Qt学习第6天:xml 【笔记】
文章目录1. UI界面2. xml3. 实用技巧1. UI界面2. xml3. 实用技巧原创 2020-05-19 11:34:28 · 249 阅读 · 0 评论 -
Qt学习第5天:线程与数据库【笔记】
文章目录1. 线程为什么需要使用线程线程使用线程关闭2. 数据库数据库连接数据库插入数据库删除和遍历可视化操作数据库1. 线程为什么需要使用线程线程使用线程关闭2. 数据库数据库连接数据库插入数据库删除和遍历可视化操作数据库...原创 2020-05-19 11:33:57 · 412 阅读 · 0 评论 -
Qt学习第4天:TCP/UDP通信 【笔记】
文章目录1.Linux下的TCP通信过程2.Qt下的TCP通信过程3. TCP通信TCP服务器TCP客户端4. UDP通信UDP通信过程Linux下的UDPQt下的UDPUDP与TCP的区别UDP 文本发送UDP多播组播5. QTimer定时器5.TCP传文件服务器客户端小技巧:1.Linux下的TCP通信过程2.Qt下的TCP通信过程注意,服务器有两个套接字:QTcpServer、QT...原创 2020-05-19 11:33:13 · 568 阅读 · 0 评论 -
Qt学习第3天:绘图(绘图设备)和文件系统 【笔记】
文章目录1. 绘图背景图绘制、简单绘图及手动更新窗口QBitmap与QPixmap的区别绘图设备1. 绘图注意,更新窗口时update不能放在事件函数paintEvent中,否则会死循环绘图操作中不能有太复杂的运算,否则会很卡背景图绘制、简单绘图及手动更新窗口widget.h#ifndef WIDGET_H#define WIDGET_H#include <QWidg...原创 2020-05-19 11:31:53 · 358 阅读 · 0 评论 -
Qt学习第2天:常用控件与事件 【笔记】
文章目录1. 常用控件2. 布局3. 自定义控件4. Qt样式表5.事件事件事件的接收和忽略event()函数事件过滤器1. 常用控件Input Widgets:Line Edit:单行文本输入设置文本:setText(),ui->lineEdit->setText("654321");获取文本:text() ,QString str = ui->lineEd...原创 2020-05-19 11:30:03 · 570 阅读 · 2 评论 -
Qt学习第1天:基本操作(信号与槽等) 【笔记】
文章目录1.Qt程序基本框架创建项目项目结构Qt基本模块2.第一个QT程序指定父对象移动按钮位置指针按钮3. 标准信号和槽标准信号和槽自定义槽4. 两个独立的窗口自定义信号带参数的信号Lamda表达式和再说信号的功能5. 坐标系统6. 内存回收机制7. 菜单栏-工具栏8.核心控件和浮动窗口9.对话框模态和非模态对话框标准对话框和文件对话框1.Qt程序基本框架创建项目选择文件路径,编辑项目名称...原创 2020-05-19 11:29:09 · 660 阅读 · 0 评论 -
python 捕捉键盘操作
方法1:使用pygame中的event方法特点:每次按完需要松开按键才能执行下一次操作。# 代码来源:https://blog.csdn.net/weixin_42186490/article/details/88621469# 获取事件,比如按键等 for event in pygame.event.get(): # 判断是否是点击了退出按钮 if event.type == QUIT: print(原创 2020-05-13 16:14:11 · 3450 阅读 · 0 评论 -
GitHub加速下载方案(博主亲测好用)
瞎扯淡:git clone速度感人?抛开那些什么修改hosts,试试这个方案!解决方案:使用国内的码云平台加速~具体操作:Step1: 将GitHub库导入码云!Step2:从码云clone以webots为例,https://github.com/cyberbotics/webots导入之后,从Gitee端clone即可git clone git@gitee.co...原创 2020-05-08 10:30:14 · 447 阅读 · 0 评论 -
matlab调用python过程笔记
文章目录1. 环境2. 使用方法2.1 数据映射问题MATLAB 向Python传递数据MATLAB 类型到 Python 类型的映射MATLAB 向量到 Python 的映射传递矩阵和多维数组处理从 Python 返回的数据Python 类型到 MATLAB 类型的自动映射显式类型转换2.2 函数调用2.3 类调用1. 环境环境配置参见MATLAB 与 python 的交互2. 使用方法...原创 2020-05-07 18:12:04 · 1736 阅读 · 2 评论 -
git本地与云端不一致时文件的提交
git push origin master此时报错信息如下: ! [rejected] master -> master (non-fast-forward)error: failed to push some refs to ‘https://github.com/xxxxxxx/xxxxxxx.git’hint: Updates were rejected be...原创 2020-05-03 08:44:14 · 1061 阅读 · 0 评论 -
GitHub下载指定文件/文件夹
法1:DownGithttp://zhoudaxiaa.gitee.io/downgit/#/home法2:GitZip插件在线安装:http://t.cn/AipFZm6j离线安装:http://t.cn/AipFwmNO法3:RAW另存为(不适合文件夹)https://www.cnblogs.com/zhaoqingqing/p/5534827.html法4:...原创 2020-04-10 18:04:57 · 1419 阅读 · 0 评论 -
GitHub项目的高效搜索
GitHub项目的高效搜索1. 普通搜索2. 搜索仓库名称3. 搜索README文件中包含关键字的项目4. 搜索描述中包含关键字的项目5. 搜索指定仓库大小限制的项目6. 搜索关注超过多少的项目7. 搜索fork超过多少的项目8. 搜索指定时间以来创建的项目9. 搜索指定日期以来有过更新的项目10. 搜索指定编程语言的项目11. 明确搜索仓库的LICENSE12. 搜索指定用户实战1. 普通搜...原创 2020-01-05 14:40:03 · 1080 阅读 · 0 评论 -
MATLAB 与 python 的交互
文章目录交互方法MATLAB调用python1. 检查环境是否可用2. 函数调用3.两者之间类型的转换交互方法有两种方式:① 通过数据文件交互,但不适于实时交互② MATLAB与python使用socket通信③ MATLAB调用python函数MATLAB调用python1. 检查环境是否可用pyversion像博主的情况,由于装了两个版本的python,而且把pytho...原创 2020-04-25 17:27:23 · 1557 阅读 · 0 评论 -
Python - 文件读写笔记
读写模式模式描述t文本模式 (默认)。x写模式,新建一个文件,如果该文件已存在则会报错。b二进制模式。+打开一个文件进行更新(可读可写)。U通用换行模式(不推荐)。r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。rb以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件...原创 2020-04-25 15:57:17 · 249 阅读 · 0 评论 -
matlab符号表达式的化简
simplify(f) 对符号表达式进行化简,它利用各种类型的代数恒等式,包括求和、积分、三角函数、指数函数以及 Bessel 函数等来化简符号表达式simple(f) 对符号表达式尝试多种不同的算法进行化简,以显示长度最短的符号表达式简化形式[r,how]=simple(f) 返回的 r为符号表达式进行化简后的形式, how为所采用的简化方法collect(f)...原创 2019-12-03 15:01:59 · 5628 阅读 · 2 评论 -
matlab函数重载功能的实现笔记
说明matlab不支持重载功能,但是我们可以通过某些方法去实现类似重载的功能。笔记以下述代码为例,函数当中的varargin变量是元胞数组类型,调用函数testFun时,输入的函数参数将自动转成元胞数组。此处注意,要想实现重载功能,函数的输入参数必须是varargin,而调用函数时输入的参数,必须使用[]括起来.narginchk(m,n)用来限制输入参数的数量范围,即至少输入...原创 2020-03-12 17:38:32 · 2165 阅读 · 0 评论 -
matlab数据统计函数使用笔记
最值:min(array):求出数组中的最小值数据;max(array):求出数组中的最大值数据;[val_min,val_max]=bounds(array):同时求出数组中的最小数值和最大数值均值:mean(array):求出数组中数据的平均数值。nanmean(array):求出包含nan空值的数组中数据的平均数值。中位数:median(array)众数...原创 2020-03-11 22:41:26 · 1181 阅读 · 0 评论 -
matlab随机函数使用笔记
rand(m,n):生成m行n列在 [0,1] 之间满足均匀分布的伪随机数rands(m,n):生成m行n列在 [-1,1] 之间满足均匀分布的伪随机数randi:生成均匀分布的伪随机整数randn (m,n):生成m行n列标准正态分布N(0,1) 的伪随机数小贴士: 要想生成指定范围的均匀分布随机数怎么办?当然是直接乘个系数就OK啊!...原创 2020-03-10 22:22:26 · 1059 阅读 · 0 评论 -
MATLAB - 问题记录(持续更新)
1. 符号运算时表达式太长,提示“输出已截断”解决方案:思路①:将表达式转成字符串输出到文本中file_handle = fopen('expression.txt','w'); % 打开文件,设置属性【写】fprintf(file_handle, '%s' ,char(value_name)); % 把表达式变量转换成char类型fclose(file_handle); % 关闭文...原创 2019-12-25 14:54:17 · 1985 阅读 · 1 评论 -
MATLAB - 符号运算(持续更新)
文章目录1. 符号变量的定义2. 求导3. 化简1. 符号变量的定义syms x t y(t)2. 求导syms x t;% z = f(x,t)ddt = diff(f,t) % 对t偏导ddx = diff(f,x) % 对x偏导matlab求导命令diff调用格式:diff(函数) % 求的一阶导数;diff(函数, n) % 求的n阶导数(n是具体整数);...原创 2019-12-17 09:48:21 · 2198 阅读 · 1 评论 -
MATLAB - 三维图绘制
1. 带颜色的三维图x=-10:0.1:10;y=-10:0.1:10;[X,Y]=meshgrid(x,y);Z=function(X,Y);mesh(X,Y,Z)2. 散点图绘制x=-10:0.1:10;y=-10:0.1:10;Z=function(X,Y);plot3(X,Y,Z)原创 2019-12-05 17:51:03 · 1343 阅读 · 0 评论 -
Python 之 Excel表格的读写操作
近来,博主需要统计学生的加权平均成绩,由于每个人的培养方案不同,导致数据十分复杂,难以用Excel来处理,因此博主使出“朋友”大法。准备:思路:思路如下:① 给P的课程、未修的课程以及未录入成绩的课程不计入加权平均的计算② 先列后行(一行一人)③ 检测有效数据,然后累加伪代码:for循环{ if 单元格数据==数字 学分累加 学分成绩积累加 ...原创 2019-09-10 18:03:20 · 949 阅读 · 2 评论 -
架构 - 5种常见的软件架构
文章目录1. 分层架构(layered architecture)2. 事件驱动架构(event-driven architecture)3. 微核架构(microkernel architecture)or 插件架构(plug-in architecture)4. 微服务架构(microservices architecture)5. 云结构(cloud architecture)1. 分层架...转载 2020-01-20 23:13:38 · 4722 阅读 · 0 评论 -
C++语法例程速查笔记(个人笔记)
文章目录1.结构体1.1 结构体的使用1.2 结构数组1.3 结构中的位字段2. 共用体2.1 共用体的使用2.2 匿名共用体3. 枚举4. 指针和自由存储空间4.1 指针4.2 使用new、delete分配和释放内存分配内存释放内存动态数组的创建与释放动态结构的创建与释放4.3 自动存储、静态存储和动态存储5. 数组的替代品5.1 模板类vector5.2 模板类array(C++11)1.结...原创 2019-12-06 13:36:51 · 1527 阅读 · 0 评论 -
浅析错误 Run-Time Check Failure #2 - Stack around the variable ‘a‘ was corrupted
浅析错误 Run-Time Check Failure #2 - Stack around the variable 'a' was corrupted问题叙述解决方案结论问题叙述最近在写循环嵌套的时候老是报错:Run-Time Check Failure #2 - Stack around the variable ‘a’ was corrupted百思不得其解,循环没有问题,网上查找错误...原创 2019-06-24 11:22:27 · 42407 阅读 · 4 评论 -
基础笔记1 —— float型数据与其他类型数据的转换问题
不多说,直接上代码。1.查看 float 型数据在内存中的二进制存储形式1#include<iostream>#include<stdio.h>#define uchar unsigned charusing namespace std;void binary_print(uchar c){ for (int i = 0; i < 8; ++i)...原创 2019-06-18 13:00:47 · 4127 阅读 · 0 评论 -
数据类型在内存中的存储
数据在内存中的存储方式1.概念我们先来捋一遍概念,数据有8种基本类型:byte、short、int、long、float、double、boolean、charbyte8位、有符号的以二进制补码表示的整数min : -128(-2^7)max: 127(2^7-1)default: 0short16位、有符号的以二进制补码表示的整数min : -32768...转载 2019-06-18 11:23:07 · 2944 阅读 · 0 评论 -
基础笔记3 —— 关于大小端数据存储方式的转换及测试说明
文章目录说明1.大小端概念2.各自的优势3.现阶段大小端模式的使用情况[^1]4.测试所用设备的数据存储方式4.1 使用union测试机器大小端4.2 使用指针测试5.大小端的转换说明为什么会关心大小端问题 ?在控制系统中,由于CPU架构以及编译器等因素决定了数据的存储方式,不同的存储方式,其数据的发送/解读方式需要使用响应的方法。因此,在数据传输时,我们有必要弄清楚两台或多台设备的存储方...原创 2019-06-19 10:57:56 · 1658 阅读 · 0 评论 -
基础笔记2 —— 不损失精度的前提下浮点数拆分成整型的方法浅析
说明在一些控制场合,数据传输过程中需要将浮点数拆分成多个整型或者其他类型的数来进行传输,例如某控制器通过Modbus通信协议进行数据传输,但其寄存器只支持让你压short型的数据,你要在不损失精度的情况下,用2个short型数据去表示1个float型数据,我们应该怎么做呢?思路1:因为所有数据在计算机中都是以二进制的形式储存的,因此可以考虑使用C标准库提供的memcpy将float拷贝到缓...原创 2019-06-19 10:21:58 · 3891 阅读 · 2 评论