- 博客(9)
- 收藏
- 关注
原创 深入理解应用Python中的字典(dict)
看了这么多python给我们提供的dict变体,如果还不能满足你的需求,或者是你想自己定义一个定制化的字典,应该怎么办呢?我们首先想到的肯定是直接继承dict,但是事实并非如此。如果想自己定义一个字典,最好的方式是继承UserDict继承dictdict是由 C 语言实现的内置类型。为了追求极致性能,它的 C 代码在调用内部方法时,往往会跳过你在子类中重写的魔术方法(如或继承UserDict:它是模块中的 Python 实现。它内部维护了一个名为data。
2026-02-05 20:40:19
328
原创 Python中的序列
深入理解 Python 中不同的序列类型,不但能避免重新发明轮子,还可以从它们共通的接口上受到启发,在自己实现 API 时合理支持及利用现有和将来可能添加的序列类型。
2026-02-01 20:26:42
681
原创 何为Pythonic?(Beautiful is better than ugly.(优美胜于丑陋) Explicit is better than implicit.(明了胜于晦涩) Simple)
摘要:本文介绍了Pythonic编程风格,强调代码应简洁优雅、符合Python设计理念。通过对比非Pythonic和Pythonic代码示例(如变量交换、循环遍历),展示了Python特有语法(元组拆包、列表推导式)的优势。重点讲解了魔法方法(如__len__、getitem)如何让自定义对象像内置类型一样工作,以购物车类为例演示了实现前后在长度获取、切片操作等方面的显著差异。文章指出,掌握魔法方法能大幅提升代码表现力,使程序更符合Python社区标准,同时获得更多语言特性的自动支持。
2026-02-01 00:11:56
786
原创 限流?详解基于速率的流控算法
在web开发的过程中,流量控制可以保证我们的系统平稳运行,防止瞬时流量压垮的我们系统,也可以防止一些恶意流量攻击。因此,选用一个适合于我们系统的流控算法对我们的系统就有重要的意义,本文会介绍几种基于速率的流控算法,并说明每一种算法适合的场景。
2025-02-19 18:56:49
1269
原创 Python的垃圾回收机制,详解Python的GC体系
垃圾回收即简称为GC,是Python,Java等高级语言所使用的内存回收机制,由虚拟机帮助我们管理内存,让它自动把我们去追踪和回收内存中的对象。没有作用的对象就是垃圾,虚拟机就是扫地机器人,在某个时机自动帮我们清除垃圾。区别于C和C++这种让用户自己进行内存管理的方式,由虚拟机代用户管理内存。让用户自己进行内存管理的方式固然自由方便,但是对编码者编程功底和程序理解的要求也要更高。而且这样也可能导致大量难以发现并且危害巨大的bug,如造成内存泄漏,产生野指针和悬挂指针等。
2025-02-16 22:08:26
2873
原创 Django中如何避免N+1查询问题?
这是一个新手码农特别容易忽视,或者说难以发现的问题,就像笔者在刚刚开始敲代码的时候也会在不知不觉中犯下这个严重影响应用性能的问题!我们在开发应用的过程中,一个对自己的代码有有追求的程序员总是会想尽一切办法优化程序的性能,影响程序性能的原因有很多,但是N+1问题是一个常见的性能问题,特别是在使用对象关系映射(ORM)框架或进行数据库查询时,往往可能不经意间就犯下了这种错误。
2025-02-14 00:26:20
1158
原创 详解Django中的ForeignKey(一对多关联)
ForeignKey是 Django 模型系统中的一个字段类型,用于定义模型之间的一对多的关系。它创建了一种关系,使一个模型的实例可以连接到另外一个模型的实例,在数据库中表现为外键。
2025-02-09 18:55:48
2757
原创 python中的协程
这样做的坏处就是,一旦这些任务中有耗时的IO操作,cpu在等待IO的过程中会挂起,而在同步执行的情况下,cpu在挂起之后不会利用这段等待IO的时间去执行其他任务,而是硬等到IO结束才继续执行下一个任务,这样就会导致我们不能极致地利用cpu的性能,导致程序的效率不高。异步执行区别于同步执行的地方就在于,当cpu在执行一些耗时操作的时候,它不会在原地傻傻等待,而是自己去找活干,在开始等待某一个耗时操作的之后,他会主动去执行其他任务。而在执行第二个任务的时候也不会等待,发现需要等待就马上执行下一个任务。
2025-02-06 21:49:30
1297
原创 基于属性控制访问的权限模型(ABAC)
ABAC(基于属性的访问控制, Attribute-Based Access Control)是一种访问控制模型,通过使用来决定用户对资源的访问权限。与传统的基于角色的访问控制模型(RBAC)不同,ABAC 不依赖于固定的角色,而是更加灵活地使用一组属性来动态地评估和授权访问请求。
2025-02-05 16:05:54
2387
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅