概念:通过修改其他函数的功能,有助于让代码更简短 原则:已经实现了的功能代码,尽量不修改,对现有的代码进行扩展修改 例1: def f():#假设一个函数f() return "helloworld" #这是默认返回值 print(f()) #调用f()函数并打印。 f1=f #将函数赋值给一个变量 ...
分类:
其他好文 时间:
2020-12-15 12:26:11
阅读次数:
2
一日一技:实现有过期时间的LRU缓存摄影:产品经理下厨:kingname在一日一技:实现函数调用结果的LRU缓存一文中,我们提到Python自带的LRU缓存lru_cache。通过这个装饰器可以非常轻松地实现缓存。现在我们考虑下面这个应用场景:MongoDB中有100对id-用户名的对应关系,我从Redis中持续不断读取id,如果id能在MongoDB中找到对应关系,那么就把对应的用户名打印出来。
分类:
其他好文 时间:
2020-12-08 12:05:48
阅读次数:
5
基于session写一个登录认证装饰器,四个视图(登录,退出,订单,用户信息),使用cbv 一、路由 path('', views.Login.as_view(),name='login'), path('out/', views.Out.as_view()), path('userinfo/', ...
分类:
其他好文 时间:
2020-12-05 10:54:31
阅读次数:
9
基础版 写2个路由和视图函数,一个是登录,写入cookie,访问order,必须登录以后才能访问,否则重定向到登录页面,order页面实现退出功能,清除cookie,利用登录认证装饰器,必须登录之后获取到了cookie才能进入order函数 模板文件:login页面三个input标签,分别为用户名, ...
分类:
其他好文 时间:
2020-12-05 10:53:22
阅读次数:
9
def my_sum(x,y): return x+y res = my_sum(1,2) print(res) 函数对象 #函数名是第一类对象: 函数名指向的值可以被当作参数传递(类似于变量) name = 'syy' x = name print(x) #syy print(id(x)) #25 ...
分类:
其他好文 时间:
2020-12-04 11:03:30
阅读次数:
4
python装饰器 1. 装饰器 1. 本质: 闭包函数 2. 特点 不修改已有函数的源代码 不修改已有函数的调用方式 给已有函数增加额外的功能 2. 理解 1. 装饰器原则组成: 函数 + 实参高阶函数 + 返回值高阶函数 + 嵌套函数 + 语法糖 = 装饰器 2. 函数的本质: 函数和变量名一致 ...
分类:
编程语言 时间:
2020-12-03 11:42:11
阅读次数:
5
问题: 测试用例中添加了 @pytest.mark.login装饰器,如果不在pytest.ini中添加makers的话,就会报PytestUnknownMarkWarning: Unknown pytest.mark.login - is this a typo? You can register ...
分类:
其他好文 时间:
2020-12-03 11:38:33
阅读次数:
2
Pytest学习(九)-pytest.mark.parametrize的使用一、前言Pytest中装饰器@pytest.mark.parametrize(‘参数名‘,list)可以实现测试用例参数化,类似DDT二、如何使用第一个参数是字符串,多个参数中间用逗号隔开第二个参数是list,多组数据用元祖类型;传三个或更多参数也是这样传。list的每个元素都是一个元组,元组里的每个元素和
分类:
其他好文 时间:
2020-12-02 12:41:14
阅读次数:
6
用例重跑有两种方法,利用pytest-rerunfailures包,和直接使用@pytest.mark.flaky(reruns=重跑次数,reruns_delay=间隔时间)装饰器。 pytest-rerunfailures包 需安装插件 pip installpytest-rerunfailur ...
分类:
其他好文 时间:
2020-11-30 15:34:12
阅读次数:
5
在客户端和服务器交互的过程中,有些准备工作或扫尾工作需要处理,比如: 在请求开始时,建立数据库连接; 在请求开始时,根据需求进行权限校验; 在请求结束时,指定数据的交互格式; 为了让每个视图函数避免编写重复功能的代码,Flask提供了通用设置的功能,即请求钩子。 请求钩子是通过装饰器的形式实现,Fl ...
分类:
Web程序 时间:
2020-11-24 12:13:16
阅读次数:
11