Python装饰器

前言

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装饰器)