周志洋

个人站

持续学习 才能不被淘汰


Python进阶-装饰器进阶

参数化装饰器

def repeat(times):
   def decorator(func):
       def wrapper(*args, **kwargs):
           for _ in range(times):
               result = func(*args, **kwargs)
           return result
       return wrapper
   return decorator

@repeat(3)
def greet(name):
   print(f"Hello {name}")

类装饰器

class CountCalls:
   def __init__(self, func):
       self.func = func
       self.count = 0
   
   def __call__(self, *args, **kwargs):
       self.count += 1
       print(f"调用次数: {self.count}")
       return self.func(*args, **kwargs)


转载请注明:周志洋的博客 » Python进阶-装饰器进阶

打赏一个呗

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦