python 装饰器

1、装饰器是什么?

装饰器本质上是一个函数,但是它比较特殊,它的参数是另一个函数,返回也是函数。相当于说它可以把一个函数,转化成另一个函数。

2、装饰器长什么样?

首先定义装饰器:

def deco(func):
  def new_func():
    return func()+1

  return new_func

 

这里实现了将一个函数的返回值+1进行返回的函数 相当于h(x) = f(x)+1

3、如何使用?

可以这样

def func():
  return 1

func = deco(func)

 

也可以使用语法糖

@deco

def func():
  return 1

 

4、现实生活中装饰器一般怎么用?

1、装饰器一般用来装饰多个函数,不然它都可以直接写在函数里了是不是。所以它一般实现一些比较通用的功能,比如说记录运行的时间就很适合用装饰器。

2、注入参数,使用默认参数之类的

3、记录日志

 

有好些例子,可以参考文档https://wiki.python.org/moin/PythonDecoratorLibrary

 

 

function_tools.wraps作用

https://www.cnblogs.com/skaarl/p/9406910.html

 

posted @ 2022-01-26 11:55  yjy888  阅读(18)  评论(0编辑  收藏  举报