Python——基础函数2
内嵌函数
允许在函数内部创建另一个函数这种方式叫做内嵌函数或称为内部函数
实例:
def fun(): print("fun正在被调用") def funtow(): print("funtow正在被调用") funtow() fun()
注意:在内部函数整个作用域都在外部函数之内的,就像是上面的代码funtow整个定义和调用的过程都在fun里面进行的,
需要注意的是除了在fun这个函数里面可以随意的调用funtow内部函数,出了这个fun就没有任何可以对funtow进行调用的方式了。
闭包
如果在一个内部函数里对外部作用域(但不是在全局变量里作引用)那么内部函数就会被认为闭包。
简单的理解就是能够取其他函数内部变量的函数。
看实例:
1 def demo(a): 2 def demotow(b): 3 return a * b 4 return demotow 5 print(demo(8)(5))
对于demo这个函数来说demotow是它的内部函数,
demotow对它的外部作用域也就是demo的作用域中的变量进行调用这就被称为闭包。
注意:闭包的概率是由内部函数演变而来所以也不能在外部函数的外面对内部函数进行调用