Python装饰器 学习笔记

什么是装饰器

  1. Python中一切皆对象,函数也可以当做参数传递
  2. 装饰器接受函数当做参数,添加功能后返回一个新函数的函数
  3. Python中装饰器使用@
import time

def log_time(func):
    def log(*args, **kwargs):
        begin = time.time()
        res = func(*args, **kwargs)
        print(time.time()-begin)
        return res
    return log

# 第一种调用形式
@log_time
def my_time():
    time.sleep(1)

my_time()

def my_time_two():
    time.sleep(2)

# 第二种调用形式
new_fuc = log_time(my_time_two)
new_fuc()

思考题:如何给类写装饰器

发布了15 篇原创文章 · 获赞 4 · 访问量 1033

猜你喜欢

转载自blog.csdn.net/qq_37316153/article/details/104280751