首页 > 编程语言 > 详细

Python-详解装饰器及反射原理

时间:2021-08-13 17:35:23      阅读:25      评论:0      收藏:0      [点我收藏+]

一、装饰器

装饰器:装饰函数和类,作用:扩展增加函数和类的功能

二、装饰器的分类

两大类:装饰器函数和装饰器类

三、装饰器函数定义及应用

函数: 封装代码最小单元,提供代码复用性

  • 装饰器函数利用函数的一些特征:
    1. 函数可以用为参数;

    2. 函数可以作为变量;

    3. 函数也可以返回函数;

  • 装饰器函数可以装饰所有的函数(有参数,没参数)
import time


def runTime(func):
    """
    装饰函数
    原来功能 + 扩展的功能: 统计每个函数的耗时
    :param func:
    :return:
    """
    def wrapper(*args,**kwargs):
        start = time.time()
        #原来功能
        func(*args, **kwargs)
        end = time.time()
        cost = end - start
        print(f"统计函数使用时长:{func.__name__}耗时{cost}s")
    return wrapper

  
@runTime
def test_no_params():
    print("这是一个无参数的装饰器测试")
    
    

@runTime
def test_have_params(*args,**kwargs):
    sum = 0
    for num in args:
        sum += num
    print(f"求和: {sum}")
    return sum

  
test_no_params()
test_have_params(2,4,3,5,6,8,9)

 

Python-详解装饰器及反射原理

原文:https://www.cnblogs.com/deeptester-vv/p/15137104.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!