美文网首页
Python装饰器

Python装饰器

作者: 人生苦短啊 | 来源:发表于2018-07-23 00:35 被阅读0次

    前言

    python装饰器就是用于拓展原来函数功能的一种函数,这个函数的特殊之处在于它的返回值也是一个函数,使用python装饰器的好处就是在不用更改原函数的代码前提下给函数增加新的功能。

    如果想要每次执行函数时候都要打印当前时间,decorator3是最完整定义装饰器函数

    # 装饰器
    import time
    
    def decorator(func):
        def wrapper():
            print(time.time())
            func()
        return wrapper
    
    def decorator1(func):
        def wrapper(*args):
            print(time.time())
            func(*args)
        return wrapper
    
    
    def decorator3(func):
        def wrapper(*args, **kwargs):
            print(time.time())
            func(*args, **kwargs)
        return wrapper
    
    
    @decorator
    def f1():
        print("1231231313")
    @decorator1
    def f2(func_name1, func_name2):
        print("Python"+func_name1)
        print("Python"+func_name2)
    
    @decorator3
    def f3(func_name1, func_name2, **kwargs):
        print("Python"+func_name1)
        print("Python"+func_name2)
        print(kwargs)
    
    # f1()
    # f2("mm","gg")
    f3("mm","gg", a=1, b=2, c=3)
    

    相关文章

      网友评论

          本文标题:Python装饰器

          本文链接:https://www.haomeiwen.com/subject/jcfdmftx.html