自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(640)
  • 资源 (20)
  • 问答 (1)
  • 收藏
  • 关注

原创 典型的空间换时间案例OSMapTbl与OSUnMapTbl

在μC/OS-II实时操作系统中,OSMapTbl和OSUnMapTbl是两个关键的预计算查找表,用于优化任务优先级调度。OSMapTbl是一个位映射表,用于将优先级编号转换为位掩码,以便快速设置或清除OSRdyGrp和OSRdyTbl中的特定位。其表大小为8,元素值为0x01至0x80,对应8个可能的位位置。OSUnMapTbl是一个位反向映射表,用于从字节数据中快速定位最低有效位(LSB)的索引,以查找最高优先级任务。其表大小为256,覆盖所有8位二进制组合。这两种表通过查表法实现O(1)的时间复杂度,

2025-05-17 10:20:37 257

原创 生成器(generator)

生成器通过惰性计算和只存储当前状态的特性,能够显著节约内存,特别适用于处理大数据集和无限序列。这种特性使得生成器在数据处理和流式计算中非常有用。

2025-04-26 10:26:20 200

原创 python中的schedule使用

轻量级周期任务调度,简单易用。

2025-04-16 10:17:44 415 1

原创 hypercorn中使用FastApi

1 安装库2 编写代码3 启动服务4 访问效果关于FastAPI。

2025-04-14 09:53:02 206

原创 异步编程与多线程的本质区别

异步编程的本质是‌单线程内的协作式任务调度‌,通过事件循环和协程机制实现高并发I/O处理,与多线程的‌抢占式并行执行‌存在根本性差异‌35。两者的选择需根据任务类型(I/O密集型 vs CPU密集型)和运行时环境综合判断‌26。# 需要安装:pip install aiohttp"""异步获取单个网页内容""""""并发获取多个网页"""# 使用gather并发执行所有任务urls = [] * 5 # 重复5次,共20个请求。

2025-04-13 11:15:11 299

原创 Python 装饰器(Decorator)详解

‌实现逻辑解耦与复用,是 Python 灵活性和表达力的重要体现。掌握其核心用法后,可显著提升代码的可维护性和扩展性。

2025-04-10 08:31:04 441

原创 python中的语音操作

pip install pyaudio # 用于实时麦克风录音‌:ml-citation{ref="2,4" data="citationList"}pip install vosk # 核心库安装‌:ml-citation{ref="2,4" data="citationList"}下载预训练模型‌,官方模型库:Vosk Models,中文推荐模型:vosk-model-cn-0.22(适用于中文场景)‌。朗读需要安装:pip install pyttsx3。语音操作主要包括两个:朗读和语音识别。

2025-03-28 08:31:40 385

原创 Flask多参数模版使用及其服务器waitress

约定好参数名字,单个名字可以直接使用;多参数使用字典传递;把建好的html文件放到templates目录里面;需要建立目录templates;hello.html内容。

2025-03-17 17:05:13 280

原创 Flask进行WEB开发

Flask 允许你定义路由,使得当用户访问特定 URL 时,Flask 会调用对应的视图函数来处理请求。Flask 允许你定义路由,这样当特定的 URL 被访问时,就会调用相应的函数。:蓝图是 Flask 中的一个组织代码的方式,它允许你将相关的视图函数、模板和静态文件组织在一起,并且可以在多个应用中重用。蓝图是 Flask 中的组织代码的方式。它允许你将相关的视图函数、模板和静态文件组织在一起,并且可以在多个应用中重用。Flask 允许你定义错误处理函数,当特定的错误发生时,这些函数会被调用。

2025-03-17 14:56:00 717

原创 拦截所有异常try/except结构例子

用try/except结构拦截所有可能的错误。

2025-03-13 13:41:27 237

原创 python编写WEB服务器

这里只发送json数据。

2025-03-11 14:52:02 257

原创 PyInstaller打包工具的使用

PyInstaller 是一个将 Python 程序打包成独立执行文件的工具,常用于将 Python 脚本打包为可执行文件。默认情况下,PyInstaller 会生成一个文件夹,其中包含可执行文件和相关的依赖文件。使用此选项后,所有文件会被打包成一个文件。.spec 文件包含了打包过程的配置信息,通常你可以修改 .spec 文件来定制 PyInstaller 的行为。PyInstaller 会生成一个 .spec 文件,它记录了打包时的配置,可以修改该文件来定制打包行为。指定生成的可执行文件所在的目录。

2024-11-18 14:10:06 3881

原创 uiautomation自动操作windows控件

1 首先安装uiautomation。2 给微信“文件传输助手”发送消息。

2024-11-04 15:27:19 424 1

原创 双端队列deque

deque(双端队列)是collections库中的一个类,它是一个、可以在两端进行高效插入和删除操作的数据结构。deque类实现了类似列表的功能,但在处理频繁的首尾插入和删除时更加高效。

2024-11-01 10:41:53 477

原创 Counter对象的使用样例

Counter是一个用于跟踪值出现次数的有序集合。它可以接收一个可迭代对象作为参数,并生成一个字典,其中包含每个元素作为键,其计数作为值。

2024-11-01 10:18:27 388

原创 groupby函数的使用

itertools.groupby 是 Python 标准库 itertools 模块中的一个强大工具,它能够对可迭代对象中的元素进行分组。不同于数据库查询语言中的 GROUP BY 语句 ,groupby 并不会自动对数据进行排序,因此在使用前通常需要先对数据进行预排序,以保证相同元素连续出现,这样才能正确地进行分组。{'孙': ['孙文'], '张': ['张飞'], '李': ['李晓红'], '王': ['王名', '王芳'], '章': ['章程']}2 把姓名字符串按姓氏分组。

2024-10-29 15:27:29 585

原创 高阶函数(Higher-Order Function)

reduce() 函数会对参数序列中元素进行累积。函数将一个两元操作函数作用在序列[x1, x2, x3, ...]上,并将其结果并为一个单一返回值,例如用于求和或求积。高阶函数在 Python 中非常强大和灵活,它们允许你将函数作为参数传递给其他函数,或者从函数中返回函数。虽然 lambda 表达式本身不是一个高阶函数,但它经常与高阶函数一起使用,提供简洁的函数定义。map() 函数接受一个函数和一个可迭代对象(如列表或元组)作为输入,将传入的函数依次作用到序列的每个元素上,并返回一个新的迭代器。

2024-09-25 10:02:21 566 1

原创 max与min函数的使用

max与min都有一个key关键字,可以进行更复杂的操作。比如:返回长度最长的字符串序列等。max函数是返回序列中的最大值;min函数是返回序列中的最小值;

2024-09-18 14:17:41 312

原创 all与any函数

any用于判定至少有一个对象满足调节;all用于判定所有对象满足条件;

2024-09-18 13:56:32 150

原创 python中的排序函数sorted

在python中对列表进行排序是使用很频繁的操作,一般采用sorted函数或自带的成员函数sort就可以搞定。但是,sorted函数本身功能非常强大,可以对字符串长度、字典键值进行排序。使用下面的代码,可以更进一步的学习掌握。

2024-09-18 11:10:37 449

原创 classmethod的使用

python中存在三种方法,分别为常规方法(定义中传入self)、@classmethod修饰的类方法、@staticmethod修饰的静态方法。一常规方法定义时需要传入self参数,与类的实例绑定。也就是说调用时需要先实例化类classA为实例A,然后该实例A才拥有方法,通过A.f()的方式来调用。不能直接用类classA.f()的方式来调用。二用@classmethod修饰的方法需要传入cls参数(代表当前类),表示该方法与类绑定(不是实例)

2024-09-03 10:10:33 653

原创 常量池和对象池

需要注意的是,对于一些简单的对象,如整数、浮点数、字符串等等,如果它们的值相同,它们的地址也可能相同,这是因为Python的常量池机制会共享一些简单对象的内存地址。例如,当程序创建一个长度为1的字符串对象s时,Python的解释器会先检查对象池中是否已经存在一个值为s的字符串对象,如果存在,则直接返回该对象;例如,如果程序需要使用多个整数1来做计算,那么Python只需要在常量池中检查是否存在整数1的对象,如果已经存在,则直接引用这个对象,而不是创建新的整数1对象。这可以减少内存的使用,并加速程序的执行。

2024-08-25 15:29:27 493

原创 sklearn中的线性回归

w 被统称为 模型的 参数,其中 w0 被称为截距(intercept),w1~wn 被称为 回归系数(regression coefficient)。这个表达式和 y=az+b 是同样的性质。其中 y 是目标变量,也就是 标签。xi1~xin 是样本 i 上的特征 不同特征。

2024-08-24 16:35:38 409

原创 Threejs中的光照使用

/ 光线照射的目标点。在 Three.js 中,光照模型是创建真实感和氛围感三维场景的关键要素之一。需要根据自己的实际需求进行调节,直到满意为止。:像一个发光的点,向各个方向均匀发光。:模拟无限远处的光源,光线平行。:具有方向性和锥形照射范围。

2024-08-21 16:37:05 457

原创 DataFrame的常见操作

数据源data.json。相关python代码。

2024-05-07 17:24:01 167

原创 pyinstaller打包工具

打包过程中,PyInstaller会自动检测并分析Python代码及其导入的模块,将它们打包到一个可执行文件中,并生成额外的支持文件和目录。PyInstaller支持多个操作系统平台(如Windows、Linux、Mac OS X等),可以根据不同的平台选择合适的打包方式和选项。总之,PyInstaller是一个强大的工具,可以方便地将Python程序打包成可执行文件,以便于在没有安装Python的环境中运行或作为一个独立文件方便传递和管理。选项指定生成的可执行文件的输出目录,使用。

2024-04-29 10:35:54 314

原创 去重并保持原来的顺序OrderedDict

模块中的这些数据类型可以帮助你更高效地处理数据,并提供更简洁、更易于理解的代码。: 这是一个字典子类,它提供了一个工厂函数,用于为字典提供默认值。当访问字典中不存在的键时,它会调用工厂函数来提供默认值。利用python自带的库collections中的OrderedDict可以顺利实现去重并保留顺序。d[0]不存在,如果使用普通字典则会报错,使用默认值字典则不会报错。python中集合set可以去重,但是并不保留顺序。另外,collections还有默认值字典可以使用。完美实现去重并保留顺序。

2024-04-23 10:14:58 611

原创 数据集中的交集差集并集操作

这里的最大缺点是必须为目的集合留下足够的空间,最后再删除掉,比python来还是弱了很多,谁叫C++是底层语言呢?尽量使用STL自带函数进行操作,可读性更强,缺点是容易忘记。

2024-04-23 09:34:34 239

原创 ThreeJS部件装配

子物体首先几何中心归于原点,测量其尺寸,得其装配点1的数据数据(0.02,-0.08,-0.2328)。父物体首先几何中心归于原点,然后测量出装配点1,其数据为(0.15,0.00,0.168);//子物体位置为其装配点的数据的相反数。旋转时,需要区分所绕的数轴,下图为绕。的位置,其数据为父物体安装点数据。4 三个点计算圆心的代码。

2024-01-22 21:10:28 701

原创 socketserver.TCPServer

【代码】socketserver.TCPServer。

2024-01-12 11:25:15 569 1

原创 python中的简单线性拟合

简单线性回归可以拟合线性关系的数据,一般使用一次函数或二次函数即可。

2023-11-27 15:38:38 717

原创 最佳冒泡排序和二分法递归查找代码

冒泡排序,注意排除了已经排好的后半部分(j

2023-11-25 10:32:40 173

原创 C语言控制台程序按键控制

获取按键键值,实现光标控制,简单的推箱子游戏,以及计时处理。

2023-11-11 16:16:17 553

原创 获取未来天气样例(爬虫样例)

利用python的爬虫功能进行信息爬取,关键在于源码分析,代码相对简单。访问网站,按下F12,进行元素查找分析。

2023-10-08 15:41:03 786 2

原创 DataFrame中的isin查询使用

df.sort_values(by=['列标签'],ascending=True) 将DataFrame按照指定列标签按升序进行排序。df.nsmallest(n,columns=‘列标签’) 按照columns指定的列进行升序,并取前n行数据。df.groupby(列标签,...).aggregate({'列标签':'聚合',...})df.groupby(列标签,...).agg({'列标签':'聚合',...})filt_1 = df['name'].isin(['云韵','美杜莎'])

2023-09-15 11:13:18 1303

原创 numpy高级函数之where和extract函数

(array([0, 2, 6], dtype=int64),) #返回对象为一个元组,n2[0]是满足条件的索引,numpy.extract() 函数根据某个条件从数组中抽取元素,返回满条件的元素。1 numpy.where() 函数返回输入数组中满足给定条件的元素的索引。[17 15 19 15 12 10 16 11 15 13] #原始数组。#逻辑判断操作:大于15的替换为"big",否则替换为“small”[1 6 9]#索引为1 6 9的元素满足条件。

2023-08-26 15:43:30 314

原创 series的数据对齐功能

访问 Series 里的数据的方式,和 Python 里访问列表和字典元素的方式类似,也是使用中括号加数据标签的方式来获取里面的数据。我们还可以直接使用字典同时创建带有自定义数据标签的数据,pandas 会自动把字典的键作为数据标签,字典的值作为相对应的数据。方法对应的是加法,数学中的四则运算在 pandas 中都有一一对应的方法,它们的用法都是类似的。假设你开了个小卖部,每天统计了一些零食的销量,你想看一下前两天的总销量如何。上面的数据中,只有辣条和面包这两个数据标签是相同的,剩下的数据标签各不相同。

2023-08-21 09:39:36 334

原创 STL空间配置器入门

因为真正可以在程序运行中就归还系统的只有自由链表中的未使用值,但是他们并不一定是连续的(用户申请空间,释放空间顺序的不可控制性),所以想要在合适时间(eg一级配置器的handler中释放,或者设置各阀值,分配空间量到达时处理),就必须保证释放的空间要是连续的。释放时,仅释放连续的大块。各自管理大小分别为8,16,24,32,40,48,56,64,72,80,88,96,104, 112,120,128 字节的小额区块。所以,就使用Trace进行跟踪,打印数据流向,逻辑走向,文件,函数,方法,行位置。

2023-08-05 09:48:27 237

原创 DataFrame的替换操作

==字符串操作===========================================================数据操作=======================================================# 将 pct_change_wly_data 这列乘以100 保留两位小数 成为百分比。3 把“SZ”“SH”替换为小写"sz"“sh”2 替换操作(把“上海”替换为“深圳”)1 行与列操作和条件查询。# 删除包含缺失值的行。1 保留三位小数。

2023-07-16 10:52:13 1733 1

原创 jieba和WordCloud

【代码】jieba和WordCloud。

2023-07-14 20:13:42 330

python数据处理样例程序

包括python的list/tuple/set/dict等;类定义和类运算符重载,以及自定义类型的去重处理;Word/Excel操作,以及相关的自动文档产生;pandas、matplotlib、numpy等;数据库包括MSSQL 、SQLITE等的增删改查操作。

2022-10-27

MFCtest4.zip

直接用代码操作flt文件,在三维模型中直接操作DOF/LOD/GROUP等。Open Flight API程序开发

2020-01-08

SocketTransferFile.zip

使用套接字实现文件的发送和接收,在VS2008下调试通过。 Socket套接字编程,使用不同的发送缓冲区来测试发送速度。 一个机器上可以达到112M Bps。

2019-05-10

VC下网络通讯样例,包含UDP和WEBserver

VC下网络通讯样例,包含UDP和WEBserver UDP包含服务器和客户端

2017-07-19

VC下利用ADO操作数据库类和文件目录操作类

VC下利用ADO操作数据库类和文件目录操作类

2017-07-19

文件方式串口收发多线程样例

以文件方式操作串口,以线程方式进行,可以适应X32和X64

2017-07-19

函数对象PPT

讲解函数对象

2017-03-21

Qt多对话框框架设计

利用QMdiArea实现多对话框程序; 利用TabWidget实现多对话程序; 比较实用的应用程序框架。

2016-05-13

Qt应用程序框架涉及

利用QT的MDI结构和TabWidget结构,实现多对话框框架结构。 简单实用,主要涉及工具栏操作、MdiArea操作,TabWidget操作。

2016-05-13

DataSetXML通讯录

利用DataSet 操作XML 实现通讯录的 添加 删除 修改 分页功能。

2015-03-19

asp.net操作XML

asp.net中,利用XML实现通讯录,实现了通讯录的遍历、增减、删除功能。(vs2010)

2015-03-06

VP纹理动画实现

MFC下,VP2+VS2003纹理动画,调试通过。

2014-10-30

LabVIEW8.2串口读写 串口驱动 虚拟串口

包含LabVIEW8.2串口读写程序及其数据转换, 另外还包括:NI串口驱动和虚拟串口软件。 是调试串口的全套工具。

2014-05-27

VP5线程例子

VS2008下,基于MFC的对话框程序中使用VP5,虚拟现实。

2013-10-23

键盘钩子程序

键盘钩子程序VC6的例子,同时与自己的博客内容挂钩,学些HOOK的好例子

2013-10-03

带闪烁和右键菜单功能的VC6托盘程序

带闪烁和右键菜单功能的VC6托盘程序

2012-05-08

网络安全开发包详解代码

libpcap;winpcap;libnet;libdnet;libnids 最详细最多的网络开发包详解。

2012-03-20

VC获取本机名称IP地址MAC地址

VC获取本机名称IP地址MAC地址

2012-03-16

opencv230+vs2008

完整的opencv230文件,外加配置说明

2011-08-09

Vega Prime开发环境配置

使用 VS2003中的 VC7.10加上Vega Prime开发环境配置

2010-04-02

VC.NET使用 tabControl

VC.NET使用 tabControl 使用tabcontrol

2010-04-02

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除