- 博客(79)
- 收藏
- 关注
原创 python实现全排列(递归和循环)
以上两种方法都可以实现全排列,递归方法比较直观,但是在计算效率上较低,因为会生成很多中间结果;循环方法的计算效率较高,但是需要对数组进行操作,有一定的复杂性。具体使用哪种方法取决于实际需求和数据规模。递归实现全排列可以使用回溯法。循环实现全排列可以使用交换法。
2024-03-30 09:00:00
913
原创 python数据结构课程设计,迷宫问题求解
给定一个迷宫地图,包含空地、墙壁、起点和终点。迷宫地图由二维数组表示,数组的每个元素代表一个迷宫的单元格。要求设计一个程序,通过遍历迷宫地图,找出一条从起点到终点的路径。可以使用深度优先搜索(DFS)算法来解决迷宫问题。运行以上代码,将输出从起点到终点的路径。迷宫地图的二维数组,起点和终点的坐标。从起点到终点的路径。
2024-03-29 09:30:00
347
原创 如何使用python链表
在Python中,可以使用类来实现链表的数据结构。链表是一种数据结构,它由一系列节点组成,每个节点包含一个数据元素和一个指向下一个节点的引用。这是一个简单的链表实现示例,你可以根据自己的需求扩展和修改它。类表示链表中的一个节点,它包含一个。方法用于向链表末尾添加新的节点。方法用于遍历链表并打印节点的值。属性存储节点的值,以及一个。类表示整个链表,它包含一个。属性指向链表的第一个节点。属性指向下一个节点。
2024-03-29 09:00:00
370
原创 Django模型
ImageField:ImageField(upload_to=None, height_field=None, width_field=None, max_length=100, **options),同上,需提前安装pillow模块;decimal_places:小数点位数,精度。class FileField(upload_to=None, max_length=100, **options),upload_to用于设置上传地址的目录和文件名,也可以接收一个回调函数,该函数返回具体的路径字符串。
2024-03-25 10:00:00
2155
原创 什么是UUID
它是一个标识符的标准化表示方法,由一个128位的数字组成,通常以32个十六进制数字的形式表示,中间用"-"分隔。UUID的生成算法保证了生成的标识符是几乎不重复的,即使在极端情况下也能保证概率上的唯一性。因此,在许多应用场景中,UUID被广泛用作数据库记录的主键,或者用作分布式系统中实体的唯一标识符。UUID的目的是为了能够在分布式系统中唯一地标识实体。它不依赖于特定的中央授权机构,因此可以在分布式系统中生成唯一标识符,而不会出现冲突。
2024-03-25 09:00:00
178
原创 tkinter 电子时钟 实现时间日期 鼠标点击时透明 无标题栏 可拖动
以下是一个使用tkinter实现的电子时钟,可以显示时间和日期。鼠标点击时窗口会变为透明,没有标题栏,并且可以拖动窗口。你可以尝试运行以上代码,在屏幕上会显示一个电子时钟窗口。你可以拖动窗口改变位置,点击窗口时窗口会变为透明。
2024-03-21 09:30:00
255
原创 celery异步任务处理
在上面的例子中,我们调用了add任务,并传入了参数4和4。countdown参数指定了任务的延迟执行时间(以秒为单位)。在上面的例子中,我们创建了一个名为tasks的Celery应用,并指定了一个代理(broker)为RabbitMQ。在上面的命令中,-A参数指定了Celery应用的名称(即tasks)。–loglevel参数指定了日志级别。Celery是一个分布式任务队列框架,可以用于处理异步任务。以上是使用Celery处理异步任务的基本步骤。在上面的例子中,我们通过get方法获取了异步任务的结果。
2024-03-21 09:00:00
372
原创 redis原理
快照方式通过将数据写入磁盘的二进制文件中,实现了数据的备份和恢复。哨兵机制则用于监控主节点的状态,当主节点失效时,会自动将从节点提升为新的主节点。总的来说,Redis通过内存存储、单线程模型、持久化、高可用性和消息机制等特性,提供了一个快速、可靠和可扩展的数据存储解决方案。发布与订阅:Redis支持发布与订阅的消息机制,可以实现实时的消息传递。发布者可以将消息发布到指定的频道,而订阅者可以订阅感兴趣的频道,以接收相应的消息。内存存储:Redis将所有数据存储在内存中,这使得它可以提供快速的读写操作。
2024-03-19 09:30:00
339
原创 python多进程和多线程
一个进程由一个或多个线程组成,每个线程拥有独立的执行流程,可以同时执行不同的任务,提高处理器的利用率和系统的响应能力。多进程可以提高系统的吞吐量和响应时间,因为不同的进程可以同时运行,互不影响。线程(Thread)是程序执行流的最小单元,是程序执行过程中的一个子任务,一个进程可以包含多个线程。线程拥有自己的程序计数器、栈、局部变量和状态,但是它们共享同一进程的全局变量、文件和系统资源。它是操作系统调度和管理的基本单位,包含程序代码、数据和执行状态等信息。例如磁盘,内存的读写,都是多线程可以使用的地方。
2024-03-19 09:00:00
360
原创 python垃圾回收机制
Python分代回收中的阈值是指两个用于判断对象是否应该被垃圾回收的阈值:第一个是每代的阈值,第二个是总体的阈值。每代的阈值指的是每个分代的垃圾回收阶段执行的次数。每当达到每代的阈值时,Python会触发分代垃圾回收。总体的阈值则是用于在分代回收期间控制是否触发全局垃圾回收(即回收所有代)的阈值。当某个分代的垃圾回收次数达到总体的阈值时,Python会触发全局垃圾回收。
2024-03-18 09:30:13
3273
原创 sql使用
5、拆分大的insert和delete语句,因为这两个操作会锁表,如果有别的操作就会等待,假如这是一个高访问量的表,可能就会造成数据库崩溃,服务器崩溃;概念:知道一定不存在或者是可能存在,因为其存的数据存在冲突,故不容易删除;3、只需要一条字段时,使用limit 1进行查询;因为可能会去检查返回的记录;2、减少使用select * 的查询,需要什么字段就查询什么字段;应用:判断一个url是否已经被爬取,判断邮件是否是垃圾邮件。概念:将任意大小的数据映射成固定长度的函数。4、给查询多的字段建立索引;
2024-03-18 09:13:41
443
原创 Django自定义中间件
传统方法的的五大钩子函数:(需要调用MiddlewareMixin类)process_request,请求刚到来,执行视图之前;正序process_view,路由转发到视图,执行视图之前;正序process_exception,执行视图中发生异常;逆序process_template_response,视图刚执行完毕;逆序process_response,视图执行完毕,返回响应时;逆序Django中间件(Middleware)是Django请求/响应处理系统的组成部分。
2024-03-16 09:30:00
1008
原创 session和cookie
机制:Session通过在服务器端存储会话数据,并为每个会话分配一个唯一的会话ID,然后将该ID存储在一个Cookie中发送给客户端浏览器,以便在后续请求中进行会话数据的存取。Session的数据通常保存在服务器端,可以使用不同的手段来存储,如存储在内存中、存储在数据库中、存储在文件中等。存储位置:Cookie数据存储在客户端(浏览器的Cookie文件中),而Session数据存储在服务器端(通常是在服务器的内存中或数据库中)。数据存储:Session的数据存储在服务器端,可以存储较大的数据;
2024-03-15 09:00:00
933
原创 try语句的使用
在上面的例子中,用户输入两个整数,程序对这两个数进行除法运算,但如果用户输入的不是整数或者除数为 0,程序就会抛出异常。try 语句块对这种情况进行了处理,并在发生异常时执行了相应的 except 语句块中的代码,最后无论是否发生异常都会执行 finally 语句块中的代码。其中,try 语句块包含了可能引发异常的代码;except 语句块用于捕捉并处理异常,可以包含多个 except 语句块来处理不同类型的异常;else 语句块用于在未发生异常时执行的代码;,从而保证程序的健壮性和可靠性。
2024-03-14 09:15:00
781
原创 pythonGIL锁
二、由于有GIL锁的存在,多线程是不能进行并行任务的,而多核的环境是可以使用多进程进行并行任务,因为每个进程中都会有各自的GIL锁,互不影响。只有多个cpu的时候才会有并行的发生,如果只有一个cpu是不会发生并行的。1、数据都是全局共享的,没有GIL锁的保护,多个线程同时访问时可能会造成数据的争抢,导致数据的不准确。2、多个线程对用一个数据进行更新时,没有GIL锁的保护,很可能导致数据的不一致性和数据的损坏。指的是宏观的同时执行,会互相抢占资源的。1、在进行I/O阻塞的操作任务的时候,可以使用多线程。
2024-03-13 09:30:00
722
原创 MongoDB(python处理及优化)
效率会明显比全表扫描低。答:MongoDB的查询计划会将多个索引并行的去执行,最早返回100个结果的就是胜者,其他查询计划都会被终止。基本来说,如果一个索引能够精确匹配一个查询,那么查询优化器就会使用这个索引,如果不能精确匹配,通常来说,使用or查询多次在合并结果,不如单次查询的效率高,对于单个字段,应该尽可能使用$in。数据量越大,在查询上百万千万亿的数据的时候,在没有索引的情况下,可能是几秒甚至是更久的时间。这种情况下,最好给经常查询的数据加上你所需要的索引,这时候你的查询速度可能会变得非常的快。
2024-03-11 10:01:46
2808
原创 python事务
在执行过程中可能会有临时的不一致,但是在事务结束时必须保证数据库的一致性。如果有任何一个操作失败,那么整个事务都被视为失败,并被回滚到之前的状态。在计算机科学中,事务是指访问和操作数据库的一组操作。这些操作被视为一个单独的工作单元,并且必须按照完全一致的方式执行,以确保数据库处于一致的状态。隔离性(Isolation):各个事务之间是相互隔离的,每个事务的执行都不会被其他事务所干扰。
2024-03-07 09:15:00
867
原创 redis(python操作、redis原理及redis缓存穿透,缓存雪崩,缓存击穿)
对于热搜,这时候大量用户都在访问该热点事件,但是可能优于某种原因,redis的这个热点key过期了,那么这时候大量高并发对于该key的请求就得不到redis的响应,那么就会将请求直接打在DB服务器上,导致整个DB瘫痪死机。假如有多个请求的时候,redis就会对该数据进行缓存(key=0, value=null),当请求到达redis的时候就会返回一个null给客户端,避免了大量无法访问的数据直接请求DB。当客户端发送请求给Redis服务器时,Redis会根据请求的类型和参数来解析请求,并执行相应的命令。
2024-03-04 10:00:00
2235
原创 python生成器和迭代器
什么情况下使用迭代器?1). 如果数列的数据规模巨大2). 数列有规律,但是依靠列表推导式描述不出来什么时候使用生成器?1). 节省内存2). 流式处理数据3). 无限的数据。
2024-03-01 17:50:25
760
原创 Python的ast、random、 requests、literal_eval、三元运算符
除了以上示例函数和类外,random模块还提供了其他函数和类,如random.uniform()用于生成指定范围内的随机浮点数,random.seed()用于指定随机数种子等。函数可以评估一个包含字面值的字符串,并返回其对应的Python对象。模块还提供了其他函数和类,用于处理更复杂的语法树操作,如条件语句、循环语句和函数定义等。,可以是一个包含字面值的字符串,也可以是AST(抽象语法树)节点。需要注意的是,三元运算符可以嵌套使用,但过度使用可能会使代码难以理解,建议适度使用。函数的主要特点是安全性。
2024-02-28 09:00:00
943
原创 常用git命令
1、创建仓库,第一次提交代码的时候,必须使用git add,git commit提交代码;第二次及之后可以直接使用(-am简写提交)git -am ‘第二次提交代码’。2、多人仓库提交的时候,一般情况下是先拉取git pull 之后,再进行推送git push;先切换到主分支,git checkout 主分支。最后git push origin 主分支。然后git merge 我改动的分支,
2024-02-23 15:48:58
745
原创 mysql的explain关键字
扩展和负载均衡:使用Docker可以轻松地扩展应用程序,通过在多个主机上运行多个容器实例来增加应用程序的处理能力。在构建和测试应用程序时,可以使用Docker容器来模拟特定的环境,以确保应用程序在不同环境中的一致性。应用程序的容器化部署:使用Docker可以将应用程序打包成独立的容器,包括应用程序和所需的依赖项。总之,Docker的基本概念和优势使其成为现代应用程序开发中不可或缺的一部分,可以提供更高效、灵活、可扩展和安全的应用程序部署和管理方式。
2024-02-21 13:45:00
971
原创 python创建word文档
添加表格很简单,只需要调用一下add_table()即可,返回一个Table对象,参数可以指定行、列、样式#添加一个5行3列的表格,样式是网格实线table.add_row() # 在最下面添加一行table.add_column(Pt(25)) # 在最右边添加一列并指定宽度为25磅table.cell(1, 2).text = “冰冷的希望”table.style.font.size = Pt(15) # 字体大小15磅。
2024-02-19 15:03:19
1767
原创 python将word文件转换成pdf文件,pdf转图片、将图片抠图
此方法适用于linux和Windows环境,方法一只适用于Windows环境。参数设置为17,可以将Word文件保存为PDF格式。要将word文件转换成pdf文件,可以使用Python的。库和Microsoft Office软件才能正常运行。库结合Microsoft Office软件来实现。方法来创建一个Word应用程序的对象。方法打开输入的Word文件。方法关闭打开的文档,并使用。方法关闭Word应用程序。请注意,此代码需要安装。在代码中,首先导入了。
2024-02-06 16:49:30
3968
原创 php数组排序、相加、添加、删除元素
你可以根据实际需求选择适合的排序函数。如果需要自定义排序规则,可以使用usort()、uasort()、uksort()函数,并传递一个自定义的比较函数作为参数。
2024-02-02 10:15:41
757
原创 python的快速排序、归并排序、冒泡排序
的函数,使用快速排序算法对输入的数组进行排序。函数中使用了递归的方式来实现快速排序。首先选择数组中间的元素作为基准值,将小于基准值的元素放在。数组,等于基准值的元素放在。数组,大于基准值的元素放在。数组进行排序,并将排序后的。以上代码定义了一个名为。在示例中,输入的数组为。数组拼接在一起返回。
2024-01-29 09:15:00
1721
原创 TCP/IP协议
红框中是新建的路由页面,绿框是建路由后报错的;新建后路由读取不到vue文件如上图。此情况是因为新建了路由及页面,保存不起作用了;
2024-01-29 09:00:00
702
原创 MySQL基础
select c.id, c.title, c.pid, p.title from areas as c inner join areas as p on c.pid = p.id where p.title = ‘山西省’;select 字段 from 表1 left/right join 表2 on 表1.字段1 = 表2.字段2。以左/you表为主根据条件查询右/zuo表数据,如果根据条件查询右/zuo表数据不存在使用null值填充。update 表名 set 列1=值1,列2=值2 …
2024-01-22 08:30:00
1843
原创 数据库设计、数据库优化、重构数据库表结构、MySQL开启事务
数据库设计是指根据需求和目标,在使用数据库管理系统(DBMS)来存储和管理数据时,用于确定数据库结构的过程。数据库设计的目标是创建一个高效、灵活、可靠并且易于使用的数据库,以满足组织的数据管理需求。逻辑模型使用数据库模型(如关系模型)表示实体、属性和关系,并确定表的结构、字段和关系。物理设计:根据逻辑模型,选择合适的数据类型、索引和约束,以及优化数据库性能的技术(如分区、冗余和缓存)。数据库设计需要考虑数据的完整性、一致性、安全性、性能和可扩展性等方面,以确保数据库的高效运作和可靠性。
2024-01-20 09:15:00
956
2
原创 pandas的concat、merge函数、处理数据
pandas的concat()函数用于连接(合并)pandas对象,如Series、DataFrame或Panel,沿指定的轴进行连接。函数的用法,根据具体的数据拼接需求,可以灵活选择合适的参数来处理数据。pandas库提供了。
2024-01-19 14:30:00
1751
原创 pythonopen打开文件
如果该文件已存在,文件指针将会放在文件的结尾。file.newlines:未读取到行分隔符时为None,只有一种行分隔符时为一个字符串,当文件有多种类型的行结束符时,则为一个包含所有当前所遇到的行结束的列表;如果该文件已存在,文件指针将会放在文件的结尾。也可以使用open打开,在使用完文件后,必须关闭文件,以释放资源并确保数据已被写入磁盘。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写;如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。
2024-01-16 11:16:27
937
2
原创 utf8mb4字符集、utf8_general_ci排序规则
UTF-8MB4字符集是MySQL数据库中的一种字符集编码,它支持最大的字符集范围,包括了4字节的Unicode字符。与UTF-8字符集相比,UTF-8MB4字符集能够存储更多的字符,包括一些特殊的表情符号、emoji表情、以及一些其他语言中的特殊字符。这样才能正确地存储和处理UTF-8MB4编码的字符。使用UTF-8MB4字符集可以确保数据库能够存储和处理各种语言的字符,以及包含特殊字符的文本数据。总之,UTF-8MB4字符集是一种强大的字符集编码,可以满足存储和处理各种语言和特殊字符的需求。
2024-01-15 09:15:00
1765
原创 post和get请求的区别
因此,POST请求可以处理更大量的数据。数据传递方式不同:GET请求是通过URL参数传递数据,而POST请求是通过请求体(request body)传递数据。因此,GET请求的数据会被暴露在URL中,而POST请求的数据则不会。缓存方式不同:由于GET请求的参数是在URL中的,因此浏览器会缓存这个URL的返回结果,从而使得下一次访问这个URL的时候更快。总的来说,GET请求适合请求数据量较小、请求频繁、非敏感信息的情况,而POST请求适合请求数据量较大、请求不频繁、需要保护身份、敏感信息的情况。
2024-01-12 13:30:00
751
2
原创 crontab使用方法
crontab是用于在Linux系统上定期执行任务的命令。在crontab文件中,每一行代表一个定时任务的设置。在要执行的命令中,可以使用绝对路径或相对路径来指定要执行的脚本或命令。请注意,如果您不是root用户,可能会受到系统限制,无法执行某些命令。命令可以列出当前用户的crontab文件中的所有定时任务。命令可以删除当前用户的crontab文件中的所有定时任务。命令以编辑当前用户的crontab文件。
2024-01-10 15:11:21
1363
原创 el-button点击后不恢复原样
在父元素的样式中,添加display: flex;和justify-content: center;在父元素的样式中,添加display: grid;和place-items: center;以上是三种常见的居中布局方法,在Vue项目中可以根据具体的需求选择其中一种来实现居中效果。将子元素的样式设置为绝对定位,然后使用transform属性将它居中。方法三:使用绝对定位和transform属性。方法一:使用flexbox布局。方法二:使用grid布局。
2024-01-05 09:14:33
1706
原创 记录的快捷键
1、电脑快捷键(1)关机1)、alt+ctrl+del键2)、win+R输入 shutdown -s -t 5,5秒之后关机了,或者是shutdown /s 默认时间为一分钟(2)打开任务管理器taskmgr(3)、关掉应用程序alt +F4(4)、开关电脑滤镜win+ctrl+c2、vscode快捷方式新建文件: Ctrl+N文件之间切换: Ctrl+Tab打开一个新的VS Code编辑器: Ctrl+Shift+N。
2023-12-20 10:38:26
356
原创 TensorFlow 的基本概念和使用场景
在TensorFlow中,所有的数据都以张量的形式表示,张量具有统一的数据类型,如浮点数、整数等。移动设备推理:TensorFlow提供了用于移动设备的轻量级推理框架TensorFlow Lite,可以在嵌入式设备上运行训练好的模型,实现实时推理。总之,TensorFlow是一个功能强大、灵活且易于使用的机器学习框架,适用于各种机器学习和深度学习任务,无论是研究还是实际应用。机器学习研究:TensorFlow提供了丰富的机器学习算法和模型,可以用于各种研究任务,例如模式识别、数据挖掘和机器翻译等。
2023-12-19 18:12:30
605
原创 vue学习
解决:将"C:\Users\Administrator\AppData\Roaming\npm\node_modules"路径下的@vue/cli删除,然后重新下载@vue/cli。return{ok:true} //就会输出,false就不会输出。
2023-12-18 09:14:38
2148
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人