- 博客(19)
- 收藏
- 关注
原创 【Python】7天-python实现缓存-day01
使用Python实现类似redis的缓存,原文是使用go实现的,本文使用python实现,用来比较两者的区别,方便从python转go的开发者比较二者的不同。PS:原文链接是:https://geektutu.com/post/geecache-day1.htmlPS: 预计在完成前还会对本文多次修改 仅作参考PS: 测试代码也会在后续补充。
2024-06-18 17:27:56 707
原创 【Python】python实现双向链表
双向链表(Doubly Linked List)是一种链式数据结构,每个节点(Node)包含三个部分:一个数据域(data),一个指向前驱节点的指针(prev),以及一个指向后继节点的指针(next)。双向链表的每个节点都链接到前一个节点和后一个节点,从而允许在两个方向上进行遍历。双向链表的结构prev:指向前一个节点的指针。如果是头节点(head),则 prev 为 nil 或 None。data:存储的数据。next:指向下一个节点的指针。
2024-06-18 16:16:49 398
原创 【Nginx】Nginx知识点:反向代理与负载均衡的配置与优化
反向代理(Reverse Proxy)是一种服务器架构模式,客户端将请求发送给反向代理服务器,然后由反向代理服务器将请求转发给后端服务器,并将后端服务器的响应返回给客户端。在这个过程中,客户端并不知道后端服务器的存在,它只与反向代理服务器进行交互。Nginx作为反向代理服务器,可以处理大量的并发连接,提高网站的响应速度。同时,通过配置Nginx的反向代理规则,我们可以实现一些高级功能,如缓存、SSL加密、URL重写等。
2024-06-12 15:00:08 930 2
原创 【Python】Gevent-高效的协程库
Gevent 是一个基于协程的 Python 网络库,它通过绿色线程(也称为轻量级线程或协程)实现并发处理。Gevent 的核心思想是将阻塞的 I/O 操作变为异步操作,从而实现高效的并发处理。它适用于需要处理大量 I/O 密集型任务的场景,比如网络服务器、网络爬虫等。
2024-06-12 11:43:22 691
原创 【Python】python多线程
多线程是指在一个程序中同时运行多个线程,每个线程都可以独立地执行不同的任务。多线程编程的主要优势在于它可以充分利用多核CPU的计算能力,提高程序的响应速度和吞吐量。Python的多线程与其他语言相比有一些特殊之处,主要是由于全局解释器锁(GIL)的存在。GIL是Python中的一个互斥锁,用于确保在任何时候只有一个线程在执行Python字节码。这意味着,虽然Python可以同时运行多个线程,但在任何给定的时间点,只有一个线程能够访问Python对象或执行Python字节码。
2024-06-11 11:42:50 139
原创 【Python】python魔法方法以及调用时机
Python 中的魔法方法(也称为特殊方法或双下划线方法)是一类特殊命名的方法,它们在对象的生命周期中被自动调用,用于实现特定的功能或提供特定的行为。
2024-06-11 10:59:56 656
原创 【Python】深入理解 Python 的 asyncio 库
多进程:像有多个小明独立完成任务,各自分配独立的资源。多线程:像一个小明在多个任务之间快速切换,但需要管理资源共享和竞争,区别协程的主要地方在电饭锅会主动把小明叫过去(~)。协程:像一个小明有序地、按计划地完成任务,自己管理切换,没有线程切换的开销。
2024-06-07 19:00:32 1945
原创 【Python】深入理解 Python 装饰器
装饰器本质上是一个函数,它接受一个函数作为参数,并返回一个增强或修改后的函数。它们通常用于在函数调用前后添加一些额外的行为。简单示例func()")Hello!在这个示例中,my_decorator 是一个装饰器,它接受函数say_hello 作为参数,并返回一个新的 wrapper 函数。wrapper 函数在 say_hello 调用前后添加了一些行为。本质上,装饰器就是将函数作为参数。
2024-06-07 12:00:23 422
原创 【Python】 生成器 (Generators)
生成器是 Python 中的一种特殊的迭代器,它允许你在迭代过程中产生一系列的值。生成器以一种高效的方式处理大量数据,节省内存和处理时间。与普通的函数不同,生成器使用 yield 关键字来返回值,并在每次调用时保存其执行状态。
2024-06-06 11:24:01 468
原创 Python实现离线字典+听写单词(三):语音输出单词
语音听写单词之前写了怎么读取数据和调用数据库查询和存储,有兴趣的话可以看下。1、调用语音库(tts)import timeimport pyttsx3class Tts(): def __init__(self): self.engine = pyttsx3.init() self.rate = self.engine.getProperty('rate') self.volume = self.engine.getPropert
2021-08-19 23:10:25 438
原创 Python实现离线字典+听写单词(二):字典数据写进sqlite
Sqlite+连接池读写数据上一篇写了把数据从csv文件中读出来,这一篇写把数据存放到sqlite,有兴趣的话可以看下:Python实现离线字典+听写单词(一):获取离线字典1. sqlite+dbutilssqlite安装方便,体积小,python对其的支持也很好,就简单使用sqlite。dbutils:数据库连接池,可以有效减少数据库io所花费的时间,不过由于本程序比较简单,性能上暂时没有太大差异。只是为了学习一下。2. 代码实现连接池import osimport sqlite3
2021-08-18 22:27:34 436
原创 Python实现离线字典+听写单词(一):获取离线字典
离线字典+单词听写背景:因为习惯背单词之后被听写,所以打算做一个单词听写软件涉及内容: 离线数据库:sqlite 界面涉及:pyQt5 主程序:python 3.61、字典数据来源字典数据获取字典数据来源:参考这位大佬的代码和资源,我使用的sqlite,大佬还实现mysql和csv的方式,有兴趣可以自行下载学习。https://gitee.com/smf90/ECDICT2、python代码实现读取csv文件import csvclass CsvDict(): def __
2021-08-17 22:58:33 1136
原创 No module named ‘typing‘ 问题解决
ImportError: No module named ‘typing’ 问题解决1. 问题描述Linux环境升级pip到最新后,运行pip命令出现 "No module named ‘typing’"错误2. 问题原因Linux默认环境是2.7, pip==21 已经不在支持python2.7,所有出现该问题3.解决方案网上通用python -m pip uninstall pip执行改命令,如果报错一下内容:'pip' is a package and cannot be d
2021-06-19 21:38:29 8558 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人