一、闭包函数的大前提:

  闭包函数 = 名称空间与作用域 + 函数嵌套 + 函数对象

          核心点:名字的查询关系是以函数的定义阶段为准

 

二、什么是闭包函数:

  “闭”函数指的该函数是内嵌函数。

  “包”函数指的该函数包含对外层函数作用域名字的引用(不是对全局作用域)。

 1 def outSide(x):
 2     x="11111"
 3     def inSide():
 4         print(x)
 5     return inSide
 6 
 7 x="22222"
 8 f = outSide()
 9 f()
10 
11 def foo():
12     x="33333"
13     f()

  不管 f() 在何处调用,x的值均为其外层函数outSide的作用域,值为111111,即outSide和inSide为一个整体。

 

三、为何要有闭包函数==>闭包函数的应用

1 def outSide(x):
2     def inSide():
3         print(x)
4     return inSide
5 
6 f = outSide("1111111")
7 f()

 闭包函数为我们提供了函数传参的第二种方式

相关文章:

  • 2021-08-30
  • 2022-03-03
  • 2022-01-08
  • 2021-10-26
  • 2022-03-08
猜你喜欢
  • 2021-06-20
  • 2021-08-19
  • 2022-12-23
  • 2019-03-05
  • 2022-02-21
  • 2022-02-25
  • 2021-07-12
相关资源
相似解决方案