自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

安然无虞的博客

小比特·大梦想

  • 博客(229)
  • 资源 (1)
  • 收藏
  • 关注

原创 蓝桥杯算法竞赛系列第二章——深入理解重难点之递归(上)

一、递归是什么

2021-10-22 16:31:33 30478 84

原创 蓝桥杯算法竞赛系列第一章——位运算的奇巧淫技及其实战

【声明】:在接下来的两个月中,博主持续推出两个系列的博文,有关零基础搞定C语言,蓝桥杯算法竞赛,欢迎读者发表自己的想法,期待您的留言评论。

2021-10-18 16:12:59 29804 158

原创 31天Python入门——第27天: Socket编程·TCP&UDP

现在的软件开发基本都需要网络通讯不管是传统计算机软件, 还是手机软件, 或是物联网嵌入系统软件, 都要和其他网络系统进行通讯.而当今网络世界基本上都是使用 TCP/IP 协议进行通讯的.任何应用, 比如 浏览网页、微信、抖音、支付宝或是我们开发的软件等等, 都是通过TCP/IP协议进行通讯的.TCP/IP 协议 就是一种传输数据的方案.我们可以用发快递来打比方:在 南京的安然 要寄一个物品 给 在上海的无虞.

2025-04-10 09:05:17 1891 34

原创 PySide6子窗口功能优化——文本编辑框中代码高亮显示

我们发现在文本编辑框中写的代码并没有高亮显示, 看起来不美观, 怎么实现文本框中代码高亮显示呢?

2025-04-08 14:30:37 457 3

原创 压测工具开发实战篇(六)——client子窗口整体功能

当我们点击树节点的时候. 会加载新文件, 如果之前的代码文件没有保存的话需要先保存, 我们还要设置当前子窗口的标题栏, 在修改后的代码文件没有保存和已经保存的要有区分.所以我们在处理 代码助手框被点击 的事件时, 需要先判断是否选择了代码文件, 如果没有, 会跳出提示框提示, 只有选择了代码文件, 才可以编辑代码.现在需要对里面功能的细节进行完善, 比如选择代码文件后才可以使用右侧代码助手框来编辑代码,

2025-04-08 13:52:05 632

原创 压测工具开发实战篇(五)——代码助手框功能

我们想美化一下界面, 让中间代码框更大些, 可以对控件的sizePolicy属性中的 水平伸展 设置值, 比如 Tree树控件设置为2, TextEdit控件设置为4, 那么中间的控件宽度就是左边控件的两倍.右侧代码助手框可能有很多条目, 这样一条条添加对应的按钮控件到Frame中显然是很麻烦的, 怎么办呢, 我们可以根据配置项动态实现添加功能.其中这个列表里的字典通常都是右侧代码助手框里面的条目对应的内容, 列表里面的字符串。接下来怎么在代码中实现动态添加代码助手框的功能呢?

2025-04-08 07:30:43 999

原创 PySide6 bug解决: MDI子窗口关闭后不能打开

bug解决: MDI子窗口关闭后不能打开代码运行起来后, 我们把MDI子窗口关闭后再打开, 程序就会报错, 为了解决这个问题, 请看本篇文章的内容

2025-04-08 05:30:34 367

原创 压测工具开发实战篇(四)——client子窗口功能

问题是: 上面的代码中 for循环里 filename 的作用域, 它为什么可以作为.getText(self.ui, "请输入文件名字", "文件名: ",QLineEdit.Normal, filename)中的参数filename, 不是出了for循环的作用域了吗?在 for 循环中,filename 是在循环体内部被赋值的, 根据 Python 的作用域规则,如果一个变量在某个代码块(如循环体、if 块等)中被赋值,那么它会被提升到整个函数的作用域中,而不仅仅局限于该代码块.

2025-04-07 21:22:18 1067

原创 压测工具开发实战篇(三)——开发MDI子窗口功能

比如我们已经在 Qt Designer 中构建好了QMdiArea主窗口区, 同时也构建了另外一个窗口文件(如client.ui) 用于表示client子窗口内容, 想要在代码中使用这个窗口文件, 可以先定义QMdiSubWindow子窗口, 并添加到主窗口区中.在本项目中我们要实现的子窗口相关的功能就是, 点击左侧侧边栏的图标时, 会自动显示对应的子窗口, 并且缺省状态是全屏的, 目前只实现点击哪个图标就会打开对应的子窗口, 功能暂不实现.符合预期, 还需要再补充按侧边栏的图标就显示对应的子窗口的功能.

2025-04-07 09:07:18 527

原创 31天Python入门——第26天:日期和时间

开发程序时, 经常需要获取两个代码位置在执行时的时间差, 比如, 我们想知道某个函数执行大概耗费了多少时间, 就可以使用。会返回从 1970年1月1日0点 (所谓的epoch时间点) 到当前时间 经过的秒数, 可以简称为 秒数时间.如果要获取的是 某个指定时间, 比如: ‘2018-7-8’, 而不是当前时间, 对应的星期几, 怎么办?以指定格式的字符串显示时间, 是非常实用的, 比如日志里面的时间戳.有的时候, 我们的程序获取的时间是 ISO 8601 格式的字符串.

2025-04-06 07:00:00 452 2

原创 31天Python入门——第25天:文件和目录操作

运行之后会在当前目录下面创建 tmp 目录, 在 tmp目录下面创建 python 目录, 在 python 目录下面创建 fileop 目录.我们要拷贝一个目录里面所有的内容 (包括子目录和文件, 子目录里面的子目录和文件等) 到另外一个目录中, 可以使用 shutil 模块的。注意: 参数 ignore_errors 值设置为 True, 表示忽略删除过程中的错误 (比如要删除的目录不存在), 不会抛出异常.假如我们要获取某个目录中所有的 文件, 包括子目录里面的文件. 可以使用 os库中的。

2025-04-05 06:54:32 1159 1

原创 压测工具开发实战篇(二)——构建侧边栏以及设置图标字体

现在还需要对侧边栏的图标控件添加一个小功能: 当鼠标移动到图标上时显示对应的名称, 比如鼠标移动到 btn_client 图标上会显示 客户端 的字样.符合预期, 但是我们发现上面的Frame控件和MDI控件的周边(左边、右边和中间)都有间隙, 我们想去掉其中的间隙该怎么做呢?由于 Frame控件和MDI控件 位于同一个水平布局中, 所以只需要调整外层的水平布局的Layout 对应的属性值即可.关于 QtAwesome 的使用有一个重要的问题就是: 我怎么知道想用的图标对应的名字呢, 从哪里能看到呢?

2025-04-04 15:47:38 985 2

原创 31天Python入门——第24天:挑战一口气把多线程和多进程讲明白

我们前面一直写的 Python 程序, 里面虽然没有创建线程的代码, 但实际上, 当 Python 解释器运行起来(成为一个进程), OS 就自动创建一个线程, 通常称为主线程, 在这个主线程里面执行代码指令.比如, 下面这个程序, 运行起来后, 只有一个线程, 就是主线程, 在主线程里面执行代码, 顺序下来, 一直执行到结束, 主线程就退出了. 同时进程也结束了.别的线程B已经申请到了这个锁, 并且还没有释放, 那么线程A的代码就在此处等待线程B释放锁, 不去执行后面的代码了.

2025-04-04 07:42:27 1432 29

原创 31天Python入门——第23天:调用其他程序

前面在 编解码文章 中已经学过, bytes要解码为 str, 就需要调用 decode方法. 我们是中文Windows, 所以通常外部程序输出的都是 gbk 编码的字节串, 所以这里decode参数要指定为 gbk.首先, 我们可以获取外部程序输出到屏幕的内容. 这在自动化的时候非常有用. 可以用来判断外部程序执行是否成功 或者获取我们要分析的数据.这是因为, os.system函数调用外部程序的时候, 必须要等被调用程序执行结束, 才会接着往下执行代码, 否则会一直等待.

2025-04-04 07:11:58 815 1

原创 手把手带你快速学习前端之CSS (下)

上篇文章说到CSS的基础知识点: 手把手带你快速学习前端之CSS (上).下面来讲解剩下的三个主要知识.盒子模型是 CSS 中一种用于布局的基本概念, 它描述了, 这个.盒子模型的基本结构如下:其中, 从内到外分别是:理解盒子模型是构建网页布局的基础, 它允许你更精确地控制元素在页面中的位置和大小. 我们可以先看下面这个例子:显示效果如下:如果修改上面的部分代码就可以看出内外边距的效果:显示效果如下:在学习浮动之前, 我们需要先了解传统的网页布局方式.传统的网页布局方式有 、和 .这三种传统布局方式都是

2025-04-03 15:03:43 885 1

原创 手把手带你快速学习前端之CSS (上)

CSS (样式) 就像建筑的粉刷、装饰和布局. 它决定了装饰的外观, 包括墙壁的颜色、窗户的形状、门的样式以及家具的摆放. 在网页开发中, CSS 用于定义文本的颜色、字体、间距、背景颜色, 以及页面的布局和排列方式. 就像建筑的外观和装饰可以让你的建筑变的独特而吸引人, CSS 可以让你的网页看起来吸引人且专业.选择器用于选择要应用样式的 HTML 元素. 可以选择所有的元素、特定元素、特定类或ID的元素, 甚至更多.属性实现块元素、行内元素和行内块元素相互转换的功能.

2025-04-02 09:34:39 583 4

原创 31天Python入门——第22天:JSON详解

这个过程,就好像 两个人聊天时,双方 需要把自己脑子中的 事物 转化为 语言描述传递给对方, 接收到对方的语言描述,再转化为自己的脑子中的事物一样.而且 不同的客户端、服务端程序可能使用不同的语言. 为了方便 不同的编程语言 处理, 这个序列化后的 格式 应该是各种语言都 方便 处理的.接收方如果也是Python开发的,可以使用 JSON库中的 loads方法,把JSON格式的字符串变为 Python中的数据对象.现在的问题是,我们怎么把这样的一个 存在于内存中的数据对象传递给 客户端呢?

2025-04-02 06:55:03 777 14

原创 一篇文章带你快速学习前端之HTML

HTML是Web页面的基础, 它描述了页面的语义结构, 使浏览器能够正确的显示和解释内容. 它使用一些列的标签(也称为元素), 来定义文本、图像、表格等在网页上的排布和呈现方式.其中, src 是指定图片的文件路径的属性, alt 是指定在无法加载图片是显示的替代文本的属性. 这些属性可以让用户了解图像的内容, 同时也有助于调整图片的大小和位置.以上三种属性是所有标签都有的属性, 也有一些标签具有独特的属性, 比如 a 标签的 href 属性, img 标签的 src 属性等.

2025-04-01 17:03:48 3589 37

原创 31天Python入门——第21天:字符编码

这个字符集里面包括了现今世界上的常用文字符号 和 其对应的数字表示.这样就解决了在一篇文章中包含多国文字的问题了.

2025-04-01 07:01:21 1006 13

原创 31天Python入门——第20天:魔法方法详解

当对象被释放的时候, 会执行. 它通常用于执行一些资源释放或清理操作, 如关闭文件、释放网络连接等. 但是, 但并不保证一定会调用, 因为垃圾回收可能由不同的策略来管理. python中对象的释放是一个比较复杂的过程. 一个对象有可能在引用到0的时候被释放, 且这个释放是可能在任意一个地方发生.开头和结尾, 用于实现类的特殊行为.这些魔法方法在Python中具有特殊的含义, 可以让你自定义类的行为, 使其更符合你的需求, 它们一般是自动调用, 也可以通过内置函数来显式调用.

2025-04-01 06:23:46 1873 18

原创 31天Python入门——第19天:再学面向对象·一切皆对象

获取对象的类型. 函数和模块也是对象. 我们可以像操作其他对象一样对函数和模块进行操作. 函数可以赋值给变量、作为参数传递给其他函数、作为返回值返回等. 类也是对象. 我们可以用类创建实例,实例也是对象. 类是对象的模板,实例是根据类创建的具体对象. 类可以拥有属性和方法,实例可以调用类的方法和访问属性.类方法通常用于执行与类相关的操作,而不需要依赖于类的实例. 常见的用途包括创建类的实例的辅助方法,或者在类级别上管理类的状态.静态方法通常用于执行与类相关的任务,但不依赖于类的实例状态或属性的操作.

2025-04-01 06:01:05 1425 14

原创 31天Python入门——第18天:面向对象三大特性·封装继承多态

在Python中, 多态性是由动态类型和动态绑定实现的.具体来说, Python是一种动态类型语言, 这意味着变量的类型在运行时根据赋值而确定, 而不是在编译时确定.因此, 同一个方法名可以在不同的类中实现, 并且可以根据对象的类型调用不同类的方法。: 默认情况下, 类中的属性和方法都是公有的, 它们的名字前都没有下划线, 这类型的属性和方法在类的外部, 内部, 子类中, 都是可以正常访问的.子类可以重写父类的方法, 即在子类中重新实现与父类同名的方法.这样做可以根据子类的需要修改或扩展方法的行为.

2025-03-31 20:49:40 1145 10

原创 31天Python入门——第17天:初识面向对象

面向对象编程是一种编程思想,它将现实世界的概念和关系映射到代码中.在面向对象编程中,我们通过创建对象来表示现实世界中的事物,并通过定义对象的属性和方法来描述它们的状态和行为面向对象编程强调了代码的模块化、封装、抽象、继承和多态等概念.例如, 在现实世界中我们需要去记录一名学生的基本信息, 如果使用文本来记录: 例如有一名学生叫张三, 来自北京, 性别男. 这样可以轻松记录一名学生的信息.但是使用如下表格, 结构会更加的清晰.姓名张三年龄20籍贯北京性别男品牌型号排量车架号。

2025-03-31 20:27:11 2268 12

原创 31天Python入门——第16天:模块与库详解

实际开发中, 一个大型的项目往往需要使用到很多的Python模块, 如果将这些模块都堆放在一起, 势必不好管理.而且, 使用模块可以有效避免变量名或函数名重名引发的冲突, 但是如果模块名重复怎么办呢?使用模块的主要优势之一是代码的可重用性.通过将相关的代码组织在模块中, 可以在不同的程序或项目中重复使用, 减少代码重复编写的工作量, 并提高代码的可维护性和可扩展性.如果你写的 模块文件 里面的函数, 实现了通用的功能,经常被其它模块所调用, 我们就可以把这些被调用的模块文件称之为 库。

2025-03-27 18:50:34 1017 1

原创 31天Python入门——第15天:日志记录

模块用于处理和输出日志消息的组件.我们可以为日志记录器添加一个或多个处理程序, 以决定日志消息的输出位置.可以设置日志记录器的级别, 以决定哪些级别的日志消息会被记录.默认情况下, 日志记录器的级别是。通过适当的日志记录, 我们可以追踪应用程序的行为、排查问题和监控系统状态.模块, 它是一个强大而灵活的日志记录工具.要使用。要将日志写入到文件只需要将创建日志处理程序的。模块, 使得日志记录变得简单而强大,模块, 先导入, 然后创建日志记录器。将处理程序添加到日志记录器.级别的消息会被记录.

2025-03-26 17:50:14 1683 3

原创 31天Python入门——第14天:异常处理

异常类型都是 继承自Exception的类,表示各种类型的错误.我们也可以自己定义异常,比如我们写一个用户注册的函数, 要求用户输入的电话号码只能是中国的电话号码,并且电话号码中不能有非数字字符.# 异常对象,代表电话号码有非法字符pass# 异常对象,代表电话号码非中国号码pass定义了上面的异常,当用户输入电话号码时,出现相应错误的时候,我们就可以使用raise 关键字来抛出对应的自定义异常.tel = input('请注册您的电话号码:')# 如果有非数字字符。

2025-03-26 17:14:02 1479

原创 压测工具开发实战篇(一)——使用Qt Designer构建简单界面

开发一款 Qt版本的压测工具, 可以用来做 基于HTTP API接口的 性能测试.要求做一个 MDI 多功能子窗口的 图形界面程序, 方便公司内部测试人员使用.界面如下:Qt图形界面开发的各个要点:菜单栏、工具栏、dock window、树控件、表格控件、字体图标的使用、MDI多子窗口、控件动态边界调整、上下文菜单、编辑框文本语法高亮、动态曲线图、matplotlib作图.Socket编程使用 UDP Socket 来接收压测进程的统计数据, 并且可视化呈现.多进程外部程序调用。

2025-03-25 19:52:09 1510 23

原创 31天Python入门——第13天:文件操作

简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。(是字符数还是字节数和读取的文件类型相关联), 指定要读取的最大字符数或字节数.如果省略参数或指定为负数(默认值), 则会读取全部内容.返回值是一个包含读取行内容的字符串.JSON的语法规则与Python中的字典(dict)非常相似,因此我们可以将Python中的字典转换为JSON格式,以便在不同的系统或应用程序之间进行数据交换.现在要求你写一个函数,参数是图片文件的路径,函数根据文件的开头8个字节的信息,判断该文件是不是png文件.

2025-03-25 07:27:26 1630

原创 LeetCode热题100精讲——Top7:接雨水【双指针】

接雨水在面试中也是高频题目哦, 大家注意理解呀.

2025-03-25 06:32:34 369

原创 【实用工具】你是否使用过腾讯云API, 不用自己造轮子的感觉真好!

为了确保安全性和最小权限原则,建议为API密钥配置合理的权限策略. 在“访问管理” > “角色管理”页面,你可以创建自定义角色并分配具体的权限,然后将这些角色关联到API密钥.登录腾讯云控制台后,导航到“访问管理” > “API密钥管理”页面. 在这里,你可以创建和管理API密钥,这些密钥将用于身份验证和授权.这是腾讯云用于身份验证的密钥,secretId 和 secretKey 是确保你有权访问腾讯云 API 的凭证.你需要在腾讯云控制台获取自己的密钥,并替换这里的示例值.

2025-03-24 20:48:36 828

原创 31天Python入门——第12天:迭代器·生成器底层竟是这样子的

生成器是Python中非常强大和灵活的工具,可以优化代码的性能和内存消耗,并简化处理大型数据集和无限序列的操作。当调用者请求下一个值时,生成器函数会从上次暂停的地方继续执行,生成下一个值,并再次暂停。生成器是一种特殊类型的函数,可以按需生成一系列的值,而不是一次性将所有值都计算出来并存储在内存中.这种逐步生成值的方式使得生成器可以有效地处理大量的数据或无限的序列,而不会一次性占用大量的内存空间。当生成器函数被调用时,它不会立即执行函数体的所有代码,而是在每次调用生成器的。生成器函数是一种定义生成器的方法。

2025-03-24 18:30:00 1701

原创 LeetCode热题100精讲——Top6:三数之和【双指针】

代码虽然看起来比较长,但是只要理解了就很简单,因为n==2时就是twoSum的双指针解法,n > 2时就是穷举第一个数字,然后递归计算(n-1)Sum,组长答案。题目要求我们在数组nums中找到和为0的三个数,也就是说这里的n是3,target是0。所以代码中必须用一个 while 循环来保证。的结果也可能重复,比如输入是。还有一点需要注意的是,类似。中第一个元素不重复。其实说到底还是穷举,

2025-03-24 18:03:57 431

原创 31天Python入门——第11天:挑战一口气把闭包·装饰器讲明白

装饰器提供了一种简洁而灵活的方式来修改函数的功能,使得我们可以在不改变原代码的情况下添加额外的功能. 用一句话来说就是: 装饰器就是创建一个闭包函数, 在闭包函数的内部调用目标函数, 然后添加相应的功能.. 装饰器函数通常在内部定义一个闭包函数,用于包装原始函数,添加额外的逻辑或功能. 装饰器函数可以访问原始函数的参数和返回值,并可以在调用前后执行自定义的操作.某公司要开发一个 系统, 这个系统运行的时候, 用户输入指令,比如,查询价格,就由相应的查询价格的业务代码去处理。

2025-03-24 07:06:52 1341 37

原创 LeetCode热题100精讲——Top5:盛最多水的容器【双指针】

用 left 和 right 两个指针从两端向中心收缩,一边收缩一边计算 [left, right] 之间的矩形面积,取最大的面积值即是答案.

2025-03-24 06:18:25 411 1

原创 LeetCode热题100精讲——Top4:移动零【双指针】

先移除所有 0,然后把最后的元素都置为 0,就相当于移动 0 的效果。解题思路:本题是个简单题。

2025-03-24 06:10:17 315 1

原创 LeetCode热题100精讲——Top3:最长连续序列【哈希】

由此我们可以想到用空间换时间的思路,把数组元素放到哈希集合里面,然后去寻找连续序列的第一个元素,即可在。这道题最直接的想法就是排序,排序之后连续的序列就很容易找到了。但是排序的时间复杂度是。想找连续序列,首先要找到这个连续序列的开头元素,然后递增,看看之后有多少个元素还在。,我们先找到 1,然后递增,找到了 2, 3, 4,这就是一个长度为 4 的序列。中,即可得到最长连续序列的长度了。,而题目要求我们时间复杂度为。,所以我们需要另想办法。

2025-03-23 14:24:13 469 2

原创 LeetCode热题100精讲——Top2:字母异位词分组【哈希】

考察了异位词的编码问题,对字符串排序可以是一种编码方案,如果是异位词,排序后就变成一样的了,但是这样时间复杂度略高,且会修改原始数据。解题思路:参考:《la bu la dong》,也就是下面的解法代码。

2025-03-23 13:46:32 335

原创 31天Python入门——第10天:深入理解值传递·引用传递以及深浅拷贝问题

如果你学过驾驶,八成被教练骂过吧?踩离合器,档位杆 推到1挡位置!!慢慢抬起脚,松离合器仔细分析上面的话,大家可以发现,我们的语言描述 通常 会涉及到 对象 :对象 就是语言描述中涉及的 物体比如上面的 离合器、档位杆,就是 对象,而且这是两种 不同类型 的对象相应的,在Python语言中也会涉及到 对象, 这些对象 包含了一定的 数据 信息Python语言中,所有的 数据 都被称之为 对象我们写的Python代码, 就是要 处理各种 对象 ,从而完成具体的任务比如,我们的语句。

2025-03-22 07:37:20 2177 2

原创 LeetCode热题100精讲——Top1:两数之和【哈希】

这很简单,我们用一个哈希表记录每个元素的值到索引的映射,这样就能快速判断数组中是否有一个值为,想知道有没有另一个元素。

2025-03-22 07:35:09 403

原创 31天Python入门——第9天:再学函数

args 和 kwargs 是作为普通变量使用的,而不是作为参数传递给函数. 这里的 args 是一个元组,kwargs 是一个字典,它们已经被函数定义中的 *args 和 **kwargs 收集并存储了。: **kwargs, 在参数是key=value的情况下, 所有的key-value都会被kwargs接收, 同时会将key-value组成一个字典.只能被1跟它本身整除的数. 2, 3, 4, 5 ,6 ,7 ,8 ,9, 10 每一次取余的结果都不是0, 那么它就是质数. 反之, 就不是质数.

2025-03-21 07:37:18 2765 12

200个C程序.zip

200个C程序.zip

2021-10-28

空空如也

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

TA关注的人

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