Python装饰器实现带参数和不带参数

Posted studying

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python装饰器实现带参数和不带参数相关的知识,希望对你有一定的参考价值。

 1 def log(text=None):
 2 
 3     if isinstance(text, str):
 4         def decorator(func):
 5             @functools.wraps(func)
 6             def wrapper(*args, **kw):
 7                 print(%s %s(): % (text, func.__name__))
 8                 return func(*args, **kw)
 9             return wrapper
10         return decorator
11 
12     else:
13         @functools.wraps(text)
14         def wrapper(*args, **kw):
15             print(call %s(): % text.__name__)
16             return text(*args, **kw)
17         return wrapper

以上是关于Python装饰器实现带参数和不带参数的主要内容,如果未能解决你的问题,请参考以下文章

python装饰器带括号和不带括号的语法和用法

Python 装饰器 - func_wrapper() 不带参数(给定 1 个)

python装饰器详解

python装饰器

python---装饰器

使用带或不带括号的 python 装饰器