python 修饰器
来源:互联网 发布:php程序员是什么意思 编辑:程序博客网 时间:2024/05/22 12:31
1. 装饰器实质上就是一个函数, 该函数用来处理其他函数,它可以让其他函数在不需要修改代码的前提下增加额外的功能,装饰器的返回值也是一个函数对象。
装饰器被用于有切面需求的场景,较为经典的有插入日志,性能测试,事务处理等。 通过修饰器,可以抽离出大量函数中与函数功能本身无关的雷同代码并继续重用,装饰器的作用就是为已经存在的对象添加额外的功能。
装饰器在python 使用如此方法归因于python 的函数能像普通的对象一样能作为参数传递给其他函数,可以赋值给其他变量, 可以作为返回值 ,也可被定义在另外一个函数内。
装饰器举例:
def use_logging(func):
def wrapper(*args, **kwargs):
logging.warn("%s is running"%func.__name__)
return func(*args)
return wrapper
@use_logging
def foo():
print("i am foo")
@use_logging
def bar():
print(" i am a bar")
bar()
带参数的装饰器——装饰器可以是带参数的装饰器。
def user_logging(level):
def decorator(func):
def wrapper(*args, **kwargs):
if level == "warn":
logging.warn("%s is running" % func.__name__)
return func(*args)
return wrapper
return decorator
@use_logging(level="warn")
def foo(name = "foo"):
print("i am %s" %name)
foo
类的装饰器
from functools import wraps wraps 本身是一个装饰器,它能把原函数的元信息拷贝到装饰器函数中,是的装饰器函数也和原函数一样的元信息了。
- python修饰器
- python 修饰器
- python修饰器
- python函数修饰器
- python中的修饰器
- Python修饰器
- python 修饰器
- python修饰器
- python @修饰器
- python中的修饰器@
- python中@修饰器
- Python修饰器模式
- Python中的修饰器
- python 修饰器
- python 修饰器 return
- python @wraps修饰器
- Python @contextmanager修饰器
- Python 中的修饰器理解
- 求C_18^13的值
- hdu 6006 Engineer Assignment(状压DP)
- spring注解
- docker本机启动多台容器导致出现后续容器启动失败
- 留言板功能
- python 修饰器
- 没有对象的指针是野指针【用C语言做生日贺卡】
- 智能指针
- 图像处理之使用人机交互截取图片
- SIMPLE authentication is not enabled. Available:[TOKEN, KERBEROS]
- 树上 分块 莫队 题型小结 加 题集
- 浅谈HTTP
- Qt之最简单的绘图程序
- 2017 icpc 南宁赛区 J. Minimum Distance in a Star Graph(bfs)