自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 收藏
  • 关注

原创 【redis】常用数据类型及命令

String类型是Redis最基本的数据类型,它存储的是字符串,字符串可以包含字母、数字、特殊字符等,字符串的长度没有限制,但是Redis的内存大小是有限的,如果存储的数据超过内存,Redis会自动删除数据。List 是字符串列表,按照插入顺序排列,每个元素都是字符串,List 可以被用作栈、队列等。List的底层是一个双向链表,插入和删除都是O(1),查询是O(n)。Hash 是字符串字典,通过哈希表实现,可以存储键值对,每个键只能对应一个值。

2024-09-20 15:03:47 1010

原创 【Python】 ast.literal_eval 与 eval

Base64 是一种用于将二进制数据编码成 ASCII 字符的编码方式。它通常用于在网络传输或存储数据时,将二进制数据转换为可打印的字符,以便于传输和存储。在 Python 中,可以使用base64模块来进行 Base64 编码和解码操作。

2024-09-18 17:17:41 1351

原创 【python】argparse模块——命令行参数解析

当我们开发 Python 脚本时,往往需要从命令行传递参数以控制脚本的行为。比如,一个数据处理脚本可以通过传递不同的文件名、处理方式、或者其他参数来实现不同的功能。为了简化命令行参数的处理,Python 标准库提供了argparse模块,它可以帮助我们轻松地解析用户传递的参数,并且可以生成帮助文档。本篇文章将介绍argparse模块的用法,帮助你快速掌握argparse模块,以应对命令行参数处理的需求。argparse。

2024-09-05 17:26:45 1312

原创 【python】Python 高阶函数map、reduce、filter、sorted

高阶函数(Higher-Order Function)是指能够接收函数作为参数,或者将函数作为返回值的函数。Python 内置了多种高阶函数,它们为我们提供了编写简洁代码的能力。lambda高阶函数为我们提供了一种优雅的方式来处理可迭代对象。通过合理运用mapreducefilter和sorted,我们可以编写出更加简洁和高效的 Python 代码。lambda表达式的配合使用,更是让代码显得简洁且富有表现力。

2024-08-30 11:27:20 1719

原创 【数据结构与算法】深入理解归并排序(Merge Sort)

归并排序是一种经典且强大的排序算法,通过分治策略和递归实现,能够在各种情况下提供稳定的性能表现。尽管它在空间使用上存在不足,但其稳定性和适应大规模数据的能力使其在许多应用场景中占据重要地位。

2024-08-28 11:07:15 1391

原创 【后端】使用uWSGI部署django项目

一直以来都是用django和flask自带的服务器部署的,想要在后台运行还要使用 nohup 命令。很久之前就了解到了uWSGI,但是一直没有尝试过。部署起来还是有点麻烦,虽然网上的资料比较全,但是或多或少的会遇到一些问题。简单记录一下过程,希望能有所帮助。最后的最后,推荐一下我的个人博客星眺北海的小窝,萌新站长,求支持。

2024-08-28 09:14:37 1380

原创 【前端】理解与使用sessionStorage、localStorage与cookie

本文介绍了前端存储技术:sessionStorage、localStorage 和 cookie。文章简明地描述了这三种存储方式的特点、主要用途,并提供了使用 JavaScript 进行数据存储和读取的具体方法。这些技术在前端开发中至关重要,用于有效管理用户状态和偏好设置

2024-08-27 10:06:25 1089

原创 【数据结构与算法】从左到右快速幂和从右到左快速幂

从左到右快速幂和从右到左快速幂算法通过将幂次的二进制表示与逐步的平方、乘法操作结合起来,实现了高效的幂运算。无论是从左到右还是从右到左的实现,都大大减少了计算所需的时间,特别是在需要处理大数幂运算的场景下。掌握这种算法,对提升计算效率具有重要意义。

2024-08-27 09:49:40 869

原创 【python】类的魔术方法:__repr__和__str__

_repr__,全称“representation”,是 Python 内置的特殊方法之一。它肩负着一项重要使命,那就是返回一个对象的官方字符串表示形式。这个表示形式必须尽可能地明确且无歧义,其目标是能够让开发者通过这个字符串准确地重建该对象。通常情况下,__repr__返回的字符串应当是一个有效的 Python 表达式,甚至可以使用eval()函数来重新创建该对象。例如,假设有一个简单的整数列表对象,我们可以通过以下方式实现__repr__当我们调用repr()

2024-08-26 11:10:51 881

原创 【数据结构与算法】使用哈夫曼编码压缩文本

但是我们可以用位来存储,根据不同的字符集,原本一个字符需要7位,8位,16,位甚至32位,现在可以降低出现频率更高的字符的编码长度,那么反映在需要压缩的文本中,压缩比就很可观了。哈夫曼编码不但能够应用于文本数据的压缩,还能够拓展至其他类型的数据压缩领域,例如图像、音频以及视频文件,其核心在于用更短的编码映射原本出现频率高但编码长度大的数据,例如用8bit表示一个像素,我们可以把出现最频繁的压缩为4bit、3bit甚至更低。'也是频率为1的,随便找个最小的连上就行。现在剩下的节点权重为2,3,3,4。

2024-08-26 08:59:27 1315

原创 【sql】MySQL中的 JOIN 操作

内连接会依据指定的连接条件,即学生表的学号与成绩表的学号相同,来筛选出同时存在于两个表中的行。即便在右表(scores 表)中不存在与之匹配的学号,左表中的行依然会被包含在结果集中,只不过对应右表的列值会显示为 NULL。:全外连接会同时涵盖左外连接和右外连接的结果,也就是说,无论左表还是右表中的行,都会出现在结果集中。交叉连接会返回两个表的笛卡尔积,也就是每个表中的每一行都与另一个表中的每一行相连接。外连接会显示主表的所有行,即使另一张表中没有匹配的行,这些行也会被包含在结果集中。

2024-08-18 20:09:23 861

原创 【数据结构与算法】如何构建最小堆

最小堆,作为一种独特且重要的数据结构,它是一种特殊的二叉树。在这种二叉树中,有一个关键的规则:每一个父节点所存储的值,都必然小于或者等于其对应的子节点的值。这一规则确保了根节点总是承载着整个堆中的最小数值。1/ \3 2在这个例子中,根节点的 1 毫无疑问是整个堆中数值最小的元素。

2024-08-18 19:50:20 1361

原创 【sql】MySQL 中的数值格式化函数:FORMAT、ROUND 和 TRUNCATE

FORMAT。

2024-08-15 11:19:42 792

原创 【数据结构与算法】理解二叉搜索树(BST)

本文深入探讨了二叉搜索树(BST)这一重要的数据结构。详细介绍了 BST 的定义及特性,包括节点值的大小关系和子树的性质。阐述了其重要性质及优势,如高效的查找、快速的插入和删除操作,并说明了不同情况下的操作方式。通过示例展示了 BST 的插入和删除过程,还指出了性能退化这一关键问题,分析了其原因如有序插入或删除、极端数据分布等,并通过举例加以说明。

2024-08-15 11:15:02 1584 1

原创 【python】使用字符串格式化渲染html

将 CSS 中的“{}”全部替换为“{{}}”,这种方法是可行的。在 Python 进行字符串格式化时,“{{}}”中的“{}”及其他内容会被当作普通字符串处理,不会被格式化。但当我开启 PyCharm 的代码格式化功能时,原本的“{{}}”会被转换为“{\n{ }\n}”,因此使用起来较为麻烦,甚至不太能用。然而,由于 HTML 模板中存在 CSS 样式,其“{}”语法与 Python 格式化字符串的语法产生了冲突。接着,针对“body”部分使用关键字参数进行字符串格式化,如此一来,看起来也更为直观。

2024-08-13 20:57:25 726

原创 【css】使用!important提升选择器的优先级

检查发现原来css是通过后代代选择器找到的value,而后代选择器的特异性要高于类选择器,优先级更高,所以我直接添加的类选择器没有生效。在某些情况下,可能需要为整个网站设置一个全局的样式规则,以确保某些关键元素的样式始终保持一致,不受特定页面或组件的局部样式影响。但是我想要把icp备案和公安联网备案的信息分开,即 subject-value-value 的结构,昨天我的个人博客备案通过了嘛,然后我就想着完善页面底部的备案信息,参考。,而是通过更合理的样式结构和选择器的特异性来解决样式冲突问题。

2024-08-13 20:51:36 501

原创 【python】迭代器与生成器

迭代器和生成器是Python中两个非常有用的抽象概念,它们提供了一种控制数据流的强大机制。迭代器允许我们以统一的方式遍历不同的数据类型,而生成器则提供了一种按需产生数据项的方法。

2024-08-12 15:20:00 409

原创 Linux 中的 tar 命令

在 Linux 系统中,tar命令是一个用于打包和压缩文件的非常强大的工具。它允许用户将多个文件和目录合并成一个单一的归档文件,便于传输和备份。此外,tar还可以与不同的压缩程序一起使用,如 gzip、bzip2、xz 等,以减小归档文件的大小。tar是 Linux 系统中一个非常有用的命令,它不仅可以帮助用户管理文件和目录,还可以通过压缩减少存储空间的使用。在平时的开发中,我们可以通过使用编程语言提供的接口执行终端命令,比如,用这种的方式执行tar。

2024-08-11 19:25:37 333

原创 python上下文管理器的理解使用

上下文管理器通过with和__exit__()。当进入with语句时,方法会被调用,当退出时,__exit__()方法会执行,负责清理工作。简单理解就是,上下文管理器会自动的帮我们进行资源的获取和释放,让我们专注于业务逻辑的实现。上面的例子中,open函数返回一个文件对象,它实现了上下文管理器协议。with语句确保文件在读取完毕后自动关闭,避免文件一直被占用。Python 允许开发者自定义上下文管理器,可以使用类实现上下文管理器,或通过contextlib模块使用装饰器来简化开发。

2024-08-11 15:52:48 385

原创 OpenGL 基础用法

通过这个简单的示例,你可以了解到OpenGL的基本使用流程。关键步骤包括初始化GLFW、设置绘制函数、创建窗口和上下文、进入主循环进行绘制,并最终终止程序。随着你对OpenGL的进一步学习,可以尝试绘制更加复杂的图形和实现更加高级的效果。

2024-08-09 18:01:01 608

原创 在控制台中实现旋转立方体

RIC (Render In Console) 完全基于Python标准库实现,它通过将三维坐标映射到二维坐标上,在控制台环境中实现了伪3D效果。github:RICRIC只是我一次简单的尝试,它存在很多问题,如性能问题、渲染算法问题、坐标映射问题等。但是,它确实实现了一个简单的三维图形渲染器,并能对三维模型进行旋转、缩放、平移操作。如果想要达到更好的效果,我想我还需要继续学习计算机图形学的知识,并尝试使用OpenGL,DirectX等来构建一个更好的渲染器。

2024-08-08 17:50:07 761

原创 leetcode787. K 站中转内最便宜的航班——优先队列优化的Dijkstra算法+剪枝

继续思考,发现dijkstra算法找到的是最优路径,但是其中转节点可能很多,而真正的路径只可能在中转节点比最优路径少的路径里,其他中转节点多于最优路径的路径完全可以剪枝,因为他们的费用不可能更低。按照这个思路,只需要维护一个每个节点的最小中转数,任何多于最小中转数的路径都可以剪枝,因为对于每一个被剪枝的路径来说,在其之前都已经有至少一条路径价格比它低的同时中转数还要小于它。对于k的限制,我想到可以在优先队列中维护一个当前层级的变量,当到达的层级大于k时,就不再扩展了。k:最多经过的中转站数。

2024-08-08 17:37:33 556

原创 python全文检索库:whoosh

Schema 定义了索引的结构,包括字段名称和类型。我的理解就是相当于数据库的建表操作其中stored用于指明是否存储该项的具体值如果为True可以再搜索结果中直接访问到这个字段如果为False的话就只能进行搜索,但是在结果中是无法直接访问具体内容的。原因是倒排索引本身只会建立词元到记录之间的映射关系,并不会保存记录本身。要显示保存记录才能在搜索结果中访问。

2024-08-06 14:47:30 2399 1

原创 Crontab笔记

Crontab 是 Linux 系统中用于定时执行任务的重要工具,配置文件叫做cron table。Cron 是 Unix 和类 Unix 操作系统的后台进程,用于周期性地执行任务。

2024-08-06 10:30:52 321

原创 SMTPlib 模块:使用python 发送电子邮件

python 的smtplib模块是一个用于发送电子邮件的库,它提供了与 SMTP(简单邮件传输协议)服务器交互的功能。通过这个模块,开发者可以轻松地将电子邮件发送到指定的收件人。

2024-07-24 15:32:15 562

原创 python bisect模块

在处理有序数据集合时,二分查找是一种非常高效的搜索算法。Python 的 bisect 模块提供了二分查找算法的实现,帮助我们快速定位元素在有序列表中的位置,以及在保持列表有序的前提下插入新元素。

2024-07-24 09:34:39 352

原创 torch使用自己的数据集与网络模型

torch提供了torch.utils.data.Dataset类,该类是所有数据集的基类,它实现了序列协议,即__len__和__getitem__方法,前者返回数据集的大小,后者返回第i个样本。.........在__init__方法中,我们需要从文件中加载数据,但是一般的做法是保存每条数据的的路径,因为对于大型数据集,将其直接加载到内存可能会造成大量的内存浪费在__len__方法中,我们只需要返回数据集的大小。

2024-07-23 11:33:29 1400 1

原创 Python内置装饰器:@lru_cache 和 @cache【leetcode808. 分汤】

和 是Python标准库中提供的两种缓存装饰器,它们可以将函数计算的结果缓存起来,下次调用的时候直接返回结果 装饰器位于 模块中,它使用最近最少使用(LRU)算法来缓存函数调用的结果。当你使用这个装饰器时,函数的调用结果将根据参数被缓存起来。如果再次出现相同的参数,函数将直接从缓存中获取结果,而不是重新执行,从而提高效率。在上面的例子中, 是一个计算密集型的函数,我们使用 来缓存它的结果。 参数指定了缓存中可以存储的最大调用次数。如果没有设置 或者设置为 ,则缓存不会自动清除,但可能会消耗大量内存

2024-04-02 21:31:18 1675

原创 django Paginator分页构造器的使用

此方法也是获取指定页面内容,但是不同的是,此方法已经做了异常的处理,如果传入的参数不是数值类型,会直接返回第一页,如果数值超过了分页的范围,会返回最后一页。获取指定页面的内容,此方法会验证number的类型和数值范围,如果不符合要求会直接抛出异常,所以使用此方法一定要做异常的处理。,直接从page中迭代得到我们的模型对象,然后按照操作模型的方法处理即可,我这里是给模型定义了。得到的page对象是一个。

2024-03-27 23:30:04 201

原创 Git基本命令记录

git init这个命令会在当前目录下创建一个新的.git文件夹,这个文件夹包含了 Git 仓库的所有元数据。这标志着一个新的 Git 仓库的诞生。

2024-03-26 13:30:50 273 1

原创 python线程池的基本使用

线程池是一种管理线程的工具,它创建了一组线程,这些线程可以被用来执行任务。线程池中的线程可以被重复利用,从而避免了频繁创建和销毁线程的开销。在Python中,提供了一个简单的线程池实现。

2024-03-25 17:05:16 626

原创 python内置乘方运算溢出错误

在写快速幂的底数平方时,我最开始使用了内置的乘方运算符。会自动适应运算结果,处理溢出。运算符不会自动处理溢出,而。)时,遇到了一个小问题。但是在提交的时候报错。

2024-03-25 13:03:11 329

原创 python多线程通信方式

python锁机制,队列

2024-03-24 14:14:11 1239 1

原创 Redis数据类型

笔记2024/3/23。

2024-03-23 18:26:07 246 1

原创 可视化排序算法

本质上是做的一个可视化工具包,按照functional.py的格式可以自己写其他的无额外空间的算法。

2023-07-13 21:25:34 100 1

原创 flask模型学习笔记

插件pip install flask-sqlalchemypip install flask-migrate pip install pymysql 绑定exts.pyfrom flask_sqlalchemy import SQLAlchemyfrom flask_migrate import Migratedb = SQLAlchemy()migrate = Migrate()def init_exts(app): db.init_app(app=a

2023-07-13 21:02:43 93 1

原创 pygame之飞机大战

飞机大战属于是经典项目,做的比较简单,就不多说了,直接上链接。这个代码文件稍多,就不粘了。上下左右移动,空格射击。

2023-07-13 20:59:41 117 1

原创 pygame之2048

pygame实现的2048

2023-07-13 20:39:52 95 1

原创 flask模板[jinjia基础]

模板处理包括两个过程模板代码包括在flask中使用模板引擎。

2023-06-10 23:21:19 92

原创 flask入门

# 2.创建路由一个·视图函数可以绑定多个路由。

2023-06-10 23:16:49 79

二叉搜索树python实现

二叉搜索树python实现

2024-08-15

空空如也

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

TA关注的人

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