装饰器的基本概念

装饰器的基本概念

  用来装饰其他函数的函数,即为其他函数添加特定功能或约束的函数(在python中装饰器都是以@符号开头)

装饰器的两个原则

  1、装饰器不能修改被装饰函数的源码

  2、装饰器不能修改被装饰函数的调用方式

学习装饰器之前必须掌握的概念

  函数即变量——函数名本身也是一种变量,将函数名赋值给另一个变量,这个变量本身也指向这个函数

  高阶函数

  嵌套函数

  装饰器 = 高阶函数 + 嵌套函数

函数即变量

  函数既卡伊直接被调用,也可以作为变量进行赋值

  def boo():

    print('in boo')

  a = boo

  a()

高阶函数

符合下列条件之一的函数就是高阶函数:

· 接受函数名作为形参

· 返回值中包含函数名

 

  def foo():

    print('in foo')

 

  def gf(func):

     print(func)

    func()

  gf(foo)

 

高阶函数两个条件对编写装饰器的意义

 

· 接受函数名作为形参(不改变被装饰函数代码前提下增加功能)

 

· 返回值中包含函数名(不改变被装饰函数的调用方式)

 

 

 

 嵌套函数

  通过def关键字定义在另一函数中的函数叫嵌套函数

def foo():

  print('in foo'):

  def boo():

    print('in boo')

 

 

posted @ 2022-02-08 17:33  ㄙㄣㄌ丨ㄣ  阅读(75)  评论(0)    收藏  举报