python
文章平均质量分 78
山笑i
allskill.top
展开
-
aiohttp session 持久化,以单例方式调用
前言aiohttp 是 python 中发请求最快的库,我们可以创建一个 session 批量发送大量异步请求,但是创建每个 session 都是一个很消耗资源的工作,如果能够持久化(Persistent),像一个变量那样调用,我们可以进一步提高代码的效率。但是按照 aiohttp 的文档,我们似乎必须在类似使用 aiohttp 创建路由的情况下才能持久化 session;同时在在外部环境中我们必须在在 async/await 中才能创建出一个 session,如何才能实现一个单例模式去调用它呢?原创 2021-10-18 14:18:40 · 2400 阅读 · 0 评论 -
Django QuerySet优化
参考:https://docs.djangoproject.com/zh-hans/3.2/topics/db/optimizationhttps://www.jianshu.com/p/aded5b2029f6https://angysmark.medium.comhttps://www.kawabangga.com/posts/4484Django 的 ORM 属于 Python 众多 ORM 选项中综合性能较高的 ORM 之一,同时作为 Django 高耦合的核心模块,我们在此必须投入十.原创 2021-10-11 18:45:27 · 1531 阅读 · 1 评论 -
Django ORM中的N+1问题
N+1 查询问题是一个长期存在的数据库性能问题。它影响了许多 ORM 和自定义 SQL 代码,Django 的 ORM 也不能幸免Django Object-Relational Mapper(ORM) 作为 Django 比较受欢迎的特性,在开发中被大量使用。我们可以通过它和数据库进行交互,实现 DDL 和 DML 操作.QuerySet 本质上是通过在预先定义好的 model 中的 Manager 和数据库进行交互,Manager 是 Django model 提供数据库查询的一个接口,在每个 .原创 2021-09-28 11:00:21 · 1353 阅读 · 3 评论 -
消除Django的RuntimeWarning:DateTimeField警告
一个看着很难受的警告/python3.9/site-packages/django/db/models/fields/init.py:1416: RuntimeWarning: DateTimeField XXXXXXModel.xxx_time received a naive datetime (2021-06-30 17:00:00) while time zone support is active.warnings.warn(“DateTimeField %s received a naiv原创 2021-06-23 10:56:18 · 4531 阅读 · 0 评论 -
多路归并排序-Python实现大文件排序,合并排序
使用python实现多(K)路归并外部排序,解决小内存排序大文件问题上一篇中,我们实现了一般的归并排序 归并排序递归与非递归-Python实现在实际工作中,多个有序数列合并成一个,大文件或多个大文件合并成一个并排序的需求常见并不少见,首先,先来看一下多个有序数列情况合并多个有序数组比如现在有四路:a0: [1, 3, 6, 7]a1: []a2: [3, 5, 7, 19]a3: [9, 12, 87, 98]保存每路最小值第一步需要知道每一路的最小值,如果每一路用数组表示的话需要保原创 2021-06-01 11:28:41 · 1400 阅读 · 0 评论 -
Python可变参数、闭包陷阱说明及解决方案
python函数中可变参数类型及闭包延迟绑定问题一直是初学者常见且面试常问的问题,我们一起来看看为什么会这样以及如何解决来源:https://qfdxz.top1 可变默认参数基于Python的灵活性,在函数定义参数时,允许我们定义可变参数类型,当然在标准代码规范中,这是一种不建议的行为,比如下面这段代码def append_to(element, to=[]): to.append(element) return tomy_list = append_to(12)print(原创 2021-05-25 14:16:37 · 300 阅读 · 0 评论 -
Django ASGIHandler 源码 - DB连接部分
无论是asgi还是wsgi协议,均已application为调用入口点1. asgi入口点def get_asgi_application(): """ The public interface to Django's ASGI support. Return an ASGI 3 callable. Avoids making django.core.handlers.ASGIHandler a public API, in case the internal impl原创 2021-02-18 16:17:38 · 572 阅读 · 0 评论 -
Python列表解析式
照例先是官方文档:python列表解析(推导式)原文链接: 轻松学会Python列表解析式还有一个:原文什么是列表解析式?列表解析式是将一个列表(实际上适用于任何可迭代对象(iterable))转换成另一个列表的工具。在转换过程中,可以指定元素必须符合一定的条件,才能添加至新的列表中,这样每个元素都可以按需要进行转换。如果你熟悉函数式编程(functional programming),...转载 2019-04-10 20:01:12 · 282 阅读 · 0 评论