python 学习之:修饰器
时间:2022-07-24
本文章向大家介绍python 学习之:修饰器,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
一、前言
修饰器是啥?大佬太多,这里不赘述,只记录一下今天自己写对类里面的方法如何修饰。
二、修饰器如何对类里面的方法进行修饰?
1、我这里是在不同的文件夹下不同的py文件中,先定义一个修饰器,如下:
def logs_decorator(func):
def logs_d():
print("成功获取了列表......")
func()
return logs_d
2、另一个py文件中,定义一个类,类中还有方法(我这里是做接口测试,所以会有requests库):
import requests
from common.logsDecorator import logs_decorator
class getBorrowList(object):
@logs_decorator
def test_get_borrow_list(self):
url = "http://xxx/borrow/list"
headers = {"Content-Type": "application/x-www-form-urlencoded"}
data = {
"page": 1,
"post_style": 0,
"sign": "8de24e3b196446"
}
r = requests.post(url=url, json=data, headers=headers)
print(r.text)
print(r.status_code)
详解:上述代码正确写法上是没有问题的,方法上面直接取得修饰器的名称进行调用。但是因为类这个对象的原因,需要在这个方法上添加self,那么这就麻烦了,按照上面的代码,我们直接执行,会出错 :
提示修饰器中的方法缺少一个参数。
解决方法: 说起来也是很简单,我们直接在修饰器中添加一个参数就可以,如下:
def logs_decorator(func):
def logs_d(self):
print("成功获取了列表......")
func(self)
return logs_d
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- SQL 获取最长的日期序列
- Lucene基本知识入门
- LeetCode 35. 搜索插入位置
- 【面试系列】反射+动态代理,你为何老是搞不懂?
- 我不知道还可以用 JS 做的 6 件事
- 【服务网格架构】Envoy架构概览(7):断路,全局限速和TLS
- 你的消息队列如何保证消息不丢失,且只被消费一次,这篇就教会你
- 【服务网格架构】Envoy架构概览(9):访问日志,MongoDB,DynamoDB,Redis
- Redis Cluster 原理分析
- Ceph介绍及原理架构分享
- 分布式存储Ceph之PG状态详解
- JS中的事件循环机制与宏队列、微队列笔记
- Redis 哨兵机制以及底层原理深入解析,这次终于搞清楚了
- SQL 找出分组中具有极值的行
- 接入层Nginx架构及模块介绍分享