进阶!深入函数!

Posted earth-smathing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了进阶!深入函数!相关的知识,希望对你有一定的参考价值。

1.命名空间

   "我思故我在",思考的结果最终还需要代码来实现,当你想要实现某些功能时,解释器必然参与其中。与此同时,内存中便会"开辟"出一个空间,用来记录变量名及其值得对应关系。这里需要说明一下,当解释器遇到函数时,函数内部如何,解释器是无视的,唯有其被调用时,解释器才会认真参与到函数的运行当中去,直到运行完毕,内存被自然释放。

2.命名空间的分类

   全局命名空间:拿函数做一个参照物,在一个py文件中,我们在函数外部命名的变量均属于全局命名空间

   局部命名空间:函数内部命名的变量属于局部命名空间

   内置命名空间:存放python解释器为我们提供的内置函数,如list,tuple,str,int等等

3.作用域

   作用域:即为作用范围,分为全局作用域和局部作用域

   全局作用域:包括全局命名空间和内置命名空间。在整个文件任何位置均可使用。

   局部作用域:只在函数内部可以使用。

4.globals(), locals()

   globals()函数用来查看全局作用域中的内容

   locals()函数用来查看局部作用域中的变量

   技术分享图片

5.关键字 global 和 nonlocal

   技术分享图片

   这段代码中,global表示,不再使用局部作用域中的变量,改为使用全局变量。

   技术分享图片

   nonlocal表示在局部作用域中,调用父级命名空间中的变量

6.函数的嵌套

   至于函数的嵌套,直接给代码,体验一下吧。

   技术分享图片

   作于十日晚,周边较为嘈杂。

 

以上是关于进阶!深入函数!的主要内容,如果未能解决你的问题,请参考以下文章

C语言进阶笔记深入了解进阶指针

C语言进阶笔记深入了解进阶指针

进阶!深入函数!

深入理解javascript函数进阶系列第二篇——函数柯里化

进阶 6-6 期深入篇 | 阿里 P6 必会 Lodash 防抖节流函数实现原理

go进阶 -深入理解goroutine并发运行机制