美文网首页
【装饰器】闭包函数的基本体现

【装饰器】闭包函数的基本体现

作者: MarcoHorse | 来源:发表于2018-04-30 16:37 被阅读13次

首先来说下什么是闭包函数,用一个很简单的例子来体现

def outer(func):
   x = 1
   def inter():
     print("a")
    return  inter

书面上闭包的定义如下,嵌套定义在非全局作用域里面的函数能够记住它在被定义的时候它所处的封闭命名空间。
上面这段函数中,outer里面返回了一个inter函数,而inter函数里面的属性包含着当前的封闭命名空间,inter就成为outer的闭包函数

接下来说下装饰器的作用和基本使用方式。
装饰器,既然是装饰器,可以理解成在原有的方法下,对该方法进行装饰铺垫处理

def func(a,b):
  return a+b

我们定义了一个求和函数,但是我们现在说要求和,之前对数据进行+1的处理

def outer(func):
  def inter(a,b):
    return func(a+1,b+1)
  return inter

这样,我们就可以在不改变func函数的前提下,实现对func的方法修改

python对装饰器提供了一个比较方法的关键字处理,也就是@
上面的代码可以改为

@outer
def func(a,b):
  return a+b

这样的话,当你调用func的时候,就可以直接返回新的值了

相关文章

  • 【装饰器】闭包函数的基本体现

    首先来说下什么是闭包函数,用一个很简单的例子来体现 书面上闭包的定义如下,嵌套定义在非全局作用域里面的函数能够记住...

  • chapter7 函数式编程

    闭包 匿名函数 装饰器 偏函数

  • 装饰器

    1.装饰器的概念 装饰器是一个闭包:内层函数引用外层函数的变量(参数也算变量),然后返回内层函数,就是闭包。装饰器...

  • Python 中的闭包

    外部函数返回内部函数简称闭包。闭包是装饰器的基础,装饰器就是用于改变原来函数状态,方法的函数。因为函数可接受的参数...

  • 装饰器详解

    装饰器基本写法: 高级一点的装饰器 带参数的装饰器和类装饰器属于进阶的内容。在理解这些装饰器之前,最好对函数的闭包...

  • Python装饰器-专题笔记

    学会装饰器,Python更进阶 函数作用域到闭包到装饰器讲解,及闭包和装饰器的运用。 [√] 慕课网Meshare...

  • Python笔记四 装饰器

    装饰器 = 高阶函数+函数嵌套+闭包 高阶函数 = 参数 or 返回值为函数 函数嵌套 = 在函数中定义函数 闭包...

  • python装饰器理解

    阅读顺序: 函数引用 函数闭包 装饰器(最好先阅读上面的两个) 1.函数引用 2.函数闭包 3.装饰器 背景:一般...

  • 区别普通嵌套函数、闭包、装饰器

    1.普通嵌套函数: 2.闭包: 闭包,本质是个函数,即调用了自由变量x的函数inner 3.装饰器: 装饰器是一个...

  • Python 2 - 高级用法 - 装饰器

    Python 2 - 高级用法 - 装饰器 一谈到 装饰器,就离不开闭包 闭包 闭包就是能够读取其他函数内部变量的...

网友评论

      本文标题:【装饰器】闭包函数的基本体现

      本文链接:https://www.haomeiwen.com/subject/ssozlftx.html