一、内嵌函数

  内嵌函数指的是在一个函数体内部定义的函数,可以称它为函数的函数,也就是子函数,外部的函数称之为母函数,就类似局部变量和全局变量

子函数体内定义的变量只在其函数内部有效,但其内部可以调用母函数定义的变量,但无法直接修改母函数体内定义的变量。

 

二、闭包

  闭包是一种满足特定要求的内嵌函数(子函数),其外部的函数称为母函数,则当子函数体内有对母函数体内定义的变量的引用时我们称这个子函数为一个闭包

但当母函数和其闭包都定义了参数时,由于在母函数体外是无法直接对闭包进行函数的调用的,为了能够实现对闭包的调用,需要在母函数内增加一条返回闭包函数名本身的语句,这个时候调用母函数后返回的是一个闭包的函数对象,就可以通过这种方法间接的调用闭包函数

  下诉代码中,我们也可以使用fun1(7)(8)

 1 def fun1(x):
 2     def fun2(y):
 3         return x*y
 4     return fun2
 5 
 6 i = fun1(7)
 7 type(i)
 8 <class 'function'>
 9 i(8)
10 56
View Code

相关文章:

  • 2021-08-07
  • 2022-12-23
  • 2022-12-23
  • 2021-04-05
  • 2021-05-27
  • 2021-11-15
  • 2022-02-26
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-11-04
  • 2021-05-03
  • 2022-12-23
  • 2022-12-23
  • 2021-11-30
  • 2021-11-06
相关资源
相似解决方案