Python笔记 之 自定义装饰器

代码

注意:Logger为自定义类,代码请参考Python笔记 之 自定义日志类
闭包及装饰器清参考Python笔记 之 闭包及装饰器

# -*- codeing = utf-8 -*-
# @File : CCLDecorator.py
# @Author : 一起种梧桐吧
# @Version : Python 3.10.0
# @Software : PyCharm
# @Time : 2022-08-25 14:19
# @Purpose : 装饰器

from time import time
from CCLLogger import Logger


def decorator(func):
	"""利用装饰器写运行日志"""
	_ = Logger()
	
	def logger(*args, **kwargs):
		"""利用自定义Logger类写函数运行日志"""
		time_start = time()
		_.write("运行结果:{}".format(func(*args, **kwargs)))
		_.write("函数名称:{}".format(func.__name__))
		_.write("文件路径:{}".format(__file__))
		_.write("运行耗时:{}秒".format(round(time() - time_start, 8)))
		_.write(" << 函数{}运行结束 >> ".format(func.__name__).center(50, "*"))
	
	return logger


if __name__ == "__main__":
	@decorator
	def func():
		return 1
	
	func()

运行结果

D:\Python\Python310\python.exe E:/DataAnalysis/CustomClassLibrary/CCLDecorator.py
11:07:52 >> 运行结果:1
11:07:52 >> 函数名称:func
11:07:52 >> 文件路径:E:\DataAnalysis\CustomClassLibrary\CCLDecorator.py
11:07:52 >> 运行耗时:0.011:07:52 >> **************** << 函数func运行结束 >> ****************

Process finished with exit code 0
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值