在上次的学习中,初步认识了Python的自定义函数方式及变量参数。那么编程中的局部变量和全局变量应该是大多数语言的标配。Python中如果定义局部变量和全局变量的呢?在编程思想中无论是面向对象还是面向过程,都逃不开函数,函数中嵌套函数,这样的典型函数式编程对内嵌函数和闭包函数的支持是如何操作的呢?
1、变量作用域。
局部变量是指在程序中只在特定过程或函数中可以访问的变量。而全局变量是在程序块中任意位置创建拥有更长生命周期的变变量。
由于全局变量的特殊性,所以不建议修改全局变量,避免因全局变量修改而造成未知的错误。在确保正确的情况下一定要修改全局变量可以使用global关键字。
2、内嵌函数。
Python中的内嵌函数即在自定义函数中再定义个函数。例如可以解决函数中需要反复调用的部分。内嵌的函数在外部无法直接访问。如图中出错的部分。
3、闭包函数。
闭包的概念,在Python中一个内嵌的函数可以访问它外部的变量,且外部函数返回内嵌函数的调用,这样就形成了一个闭包函数。同样如果在外部直接调用闭包的内嵌函数,也会报错,如图: