首页 > 编程语言 >python装饰器拦截方法执行

python装饰器拦截方法执行

时间:2023-02-06 10:45:54浏览次数:36  
标签:args format python sum kwargs time print 拦截 装饰

import time


def log(delay=0):
    def decorator(func):
        def wrapper(*args, **kwargs):
            """我是 wrapper 的注释"""
            time1 = time.time()
            newargs = list(args)
            newargs[0] = newargs[0] * 2
            # res = func(*args, **kwargs)
            res = func(*newargs, **kwargs)
            time.sleep(delay)  # 延迟 delay 秒
            time2 = time.time()
            print("函数名:{}".format(func.__name__))
            print("函数注释内容:{}".format(func.__doc__))
            print("入参 args :{}".format(args))
            print("入参 kwargs :{}".format(kwargs))
            print("返回值:{}".format(res))
            print("函数执行耗时:{:.8f}".format(time2 - time1))
            return res

        return wrapper

    return decorator


@log(0)
def get_prime_sum(n):
    """我是 get_prime_sum 的注释"""
    sum = 0
    for i in range(1, n + 1):
        sum += i
    return sum


get_prime_sum(50)

 

标签:args,format,python,sum,kwargs,time,print,拦截,装饰
From: https://www.cnblogs.com/wujf/p/17094679.html

相关文章

  • python创建一个全为1的数据文件
    linux下创建一个全为1的数据文件touchm.pyimportstructcnt=128data=[0xFF]withopen('data','wb+')asfp:whilecnt>0:a=struct.pack(......
  • Python(12)--元组
    一、元组的基本介绍元组(tuple):这种数据类型结构与列表相同,但它与列表也有很大的差异,它的元素值与元素个数不可更改。列表的定义是将元素放入[]中,元组的定义是将元素放入()中......
  • Pycharm 为 python 文件添加工程说明
    当我们希望在python项目文件中添加作者/项目信息说明时,可以借助pycharm自动的配置代码模版的方式来实现。1进入setting2配置信息模版将下面的模版代码填入即可......
  • python基础:split、join、replace、remove、del、pop、index小记
    这里总结了平时写脚本时经常用到的一些基础方法,做个记录1、split()函数可以基于分隔符将字符串分割成由若干子串组成的列表str.split(str="",num=string.count(str))......
  • python下载慢
    1,Python官方网址https://www.python.org/downloads/2,选择国内镜像源,如阿里的。https://registry.npmmirror.com/binary.html?path=python/ ......
  • Python 内置界面开发框架 Tkinter入门篇 丙(文末有福利彩蛋,今天可是元宵节)
    以下内容为本人的学习笔记,如需要转载,请声明原文链接微信公众号「ENG八戒」https://mp.weixin.qq.com/s/B1hH5Qzd2RkAiiUId1tLWw本文大概2874个字,阅读需花10分钟内容......
  • python 文件太多打不开文件夹,取样少量的文件
    python文件太多打不开文件夹,取样少量的文件,建立同样的文件目录结构importosimportshutilroot_file="/media/algo/data_1/everyday/20230203/snowy"basename_=......
  • python的tkinter
    tkinterpython的PEP8规范:PEP8–StyleGuideforPythonCode|peps.python.org基于tkinter模块创建GUI程序包含如下4个核心步骤:创建应用程序主窗口对象(也称:根窗......
  • 跟着廖雪峰学python 003
    ​ ​编辑  列表和元组list是一种有序、可变的数据类型,可添加删除其中的元素。len()函数:可以获取列表元素的个数classmates=['Micheal','Bob','James']......
  • python学习——【第一弹】
    前言Python是一种跨平台的计算机程序设计语言,是ABC语言的替代品,属于面向对象的动态类型语言,最初被设计用于编写自动化脚本,随着版本的不断更新和语言新功能的添加,越来越多被......