Python闭包详解是怎样的?

更新于
2026-10-12 05:36:06
0阅读来源:SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1514个文字,预计阅读时间需要7分钟。

Python闭包详解是怎样的?

封闭的概念+我们尝试从概念上理解一下封闭包。在一些语言中,在函数中定义另一个函数时,如果内部函数使用了外部函数的变量,则可能产生封闭包。封闭包可以在一中用来说明某些情况。

Python闭包详解是怎样的?

闭包的概念

我们尝试从概念上去理解一下闭包。
在一些语言中,在函数中可以(嵌套)定义另一个函数时,如果内部函数引用了外部函数的变量,则可能产生闭包。闭包可以用来在一个函数与一组“私有”变量之间创建关联关系。在给定函数被多次调用过程中,这些私有变量能够保持持久性。
用比较容易懂得人话说,就是当某个函数被当成对象返回时,夹带了外部变量,就形成了一个闭包。看下例子:

def make_printer(msg): def printer(): print(msg) # 夹带私货(外部变量) return printer # 返回的是函数,带私货的函数 printer = make_printer("Foo!") printer()

支持将函数当成对象使用的编程语言,一般都支持闭包。比如python,JavaScript。

如何理解闭包

闭包存在有什么意义呢?为什么需要闭包
我个人认为,闭包存在的意义就是它夹带了外部变量(私货),如果它不夹带私货,它和普通的函数就没有任何区别。同一个的函数夹带了不同的私货,就实现了不同的功能。

阅读全文

本文共计1514个文字,预计阅读时间需要7分钟。

Python闭包详解是怎样的?

封闭的概念+我们尝试从概念上理解一下封闭包。在一些语言中,在函数中定义另一个函数时,如果内部函数使用了外部函数的变量,则可能产生封闭包。封闭包可以在一中用来说明某些情况。

Python闭包详解是怎样的?

闭包的概念

我们尝试从概念上去理解一下闭包。
在一些语言中,在函数中可以(嵌套)定义另一个函数时,如果内部函数引用了外部函数的变量,则可能产生闭包。闭包可以用来在一个函数与一组“私有”变量之间创建关联关系。在给定函数被多次调用过程中,这些私有变量能够保持持久性。
用比较容易懂得人话说,就是当某个函数被当成对象返回时,夹带了外部变量,就形成了一个闭包。看下例子:

def make_printer(msg): def printer(): print(msg) # 夹带私货(外部变量) return printer # 返回的是函数,带私货的函数 printer = make_printer("Foo!") printer()

支持将函数当成对象使用的编程语言,一般都支持闭包。比如python,JavaScript。

如何理解闭包

闭包存在有什么意义呢?为什么需要闭包
我个人认为,闭包存在的意义就是它夹带了外部变量(私货),如果它不夹带私货,它和普通的函数就没有任何区别。同一个的函数夹带了不同的私货,就实现了不同的功能。

阅读全文