本篇文章将讲解函数高阶部分:
(1)函数的嵌套
(2)闭包
(3)装饰器
1、函数的嵌套
Python是以函数为作用域,在作用域中定义的相关数据只能被当前作用域或子作用域使用。
(1)函数在作用域中
其实,函数也是定义在作用域中的数据,在执行函数时,也同样遵循:优先在自己作用域中寻找,没有则向上一级作用域寻找(比如:局部作用域的上一级作用域为全局作用域)
代码示例:
(2)函数定义的位置
上述示例中的函数均定义在全局作用域中,其实函数也可以定义在局部作用域中,这样函数就可以被局部作用域和该局部作用域的子作用域被调用(函数的嵌套)
代码示例: