09 2022 档案
发表于 2022-09-29 00:10阅读次数:38评论次数:0
摘要:``` import time def delayed_start(func=None, *, duration=1): # 这一层主要是装饰器参数 def decorator(_func): # 这一层主要是将被装饰器装饰的函数传递进来 def wrapper(*args, **kwargs):
阅读全文 »
发表于 2022-09-26 22:37阅读次数:75评论次数:0
摘要:# 正无穷大 print(float('inf')) # 负无穷大 print(float('-inf'))
阅读全文 »
发表于 2022-09-14 23:13阅读次数:139评论次数:0
摘要:做子查询时,有些orm语句满足不了的时候使用 select参数 ## select age,(age > 18) as is_adult from myapp_person; Person.object.all().extra(select={'is_adult':"age>18"}) where参
阅读全文 »
发表于 2022-09-14 21:53阅读次数:371评论次数:0
摘要:先说下values from .models import Student student = Student.objects.values('number') student [{‘number‘: ‘1‘}, {‘number‘: ‘2‘}, {‘number‘: ‘3‘}, {‘number‘
阅读全文 »
发表于 2022-09-14 21:29阅读次数:117评论次数:0
摘要:# views.py from django.template.loader import render_to_string from django.http import HttpResponse def index(request): template_str =render_to_string
阅读全文 »
发表于 2022-09-13 15:39阅读次数:32评论次数:0
摘要:仅限位置参数/ def f(a, b, /, c, d): print(a, b, c, d) # 合法调用 f(10, 20, 30, d=40) # 不合法调用 f(10, b=20, c=30, d=40) # 解释说明 仅限位置参数的声明符号为/,表示在该符号左侧的参数声明为位置参数,函数调
阅读全文 »
发表于 2022-09-12 18:59阅读次数:53评论次数:0
摘要:虽然上下文管理器很好用,但定义一个符合协议的管理器对象其实挺麻烦的 得首先创建一个类,然后实现好几个魔法方法。为了简化这部分工作,python 提供了一个非常好用的工具:@contextmanager装饰器 @contextmanager位于内置模块contextlib下,它可以把任何一个生成器函数
阅读全文 »
发表于 2022-09-07 20:08阅读次数:235评论次数:0
摘要:简介 根据定义dataclass时指"一个带有默认值的可变的namedtuple" 简单来说,就是你定义一个很普通的类,@dataclass装饰器可以 帮你生成__repr__、__init__等方法,就不用自己写一遍了。但是 此装饰器返回的依然是一个class类,这意味着并没有带来任何不便, 你依
阅读全文 »
发表于 2022-09-07 15:03阅读次数:39评论次数:0
摘要:介绍 类型注解是一种给函数参数、返回值以及任何变量增加类型描述的技术,规范的注解可以大大提升代码可读性 举个例子,下面的代码没有任何类型注解 class Duck: """鸭子类 :param color: 鸭子颜色 """ def __init__(self, color): self.color
阅读全文 »
发表于 2022-09-07 14:36阅读次数:66评论次数:0
摘要:什么是预绑定方法模式 预绑定方法模式是一种将对象方法绑定为函数的模式。要实现该模式,只需要一个单例对象 模块(module) 当你在python中执行import语句导入模块时,无论import执行了多少次,每个被导入的模块在内存中只会 存在一份(保存在sys.modules中)。因此要实现单例模式
阅读全文 »
发表于 2022-09-06 13:08阅读次数:49评论次数:0
摘要:PS: 第一眼看到这个代码的时候,就联想到了go中的构造函数,虽然知道go中的构造函数其实就类比于python中的构造函数__init__,但是不得不说,这个太像了 在日常编码中,我们经常需要写一些返回多个值的函数。举个例子,下面这个地理位置相关的函数 用python的标准做法返回了多个结果: de
阅读全文 »
发表于 2022-09-06 04:25阅读次数:103评论次数:0
摘要:要判断某个容器是否包含特定成员,用集合比用列表更合适。集合底层使用了哈希表数据结构。 要判断集合中是否存在某个对象obj,python只需先用hash(obj)算出它的哈希值,然后直接去 哈希表对应位置检查obj是否存在即可,根本不需要关心哈希表的其他部分。 如代码需要进行in判断,可以考虑把目标容
阅读全文 »
发表于 2022-09-06 04:00阅读次数:34评论次数:0
摘要:def list_append(): l = [] for i in range(5000): l.append(i) def list_insert(): l = [] for i in range(5000): l.insert(0, i) import timeit # 默认执行1万次 app
阅读全文 »
发表于 2022-09-06 03:03阅读次数:18评论次数:0
摘要:str_ = 'i love you' compiler_ = str_.maketrans('i l y', 'I L Y') print(str_.translate(compiler_))
阅读全文 »