码迷,mamicode.com
首页 > 其他好文 > 详细

进阶!深入函数!

时间:2018-12-10 22:06:54      阅读:241      评论:0      收藏:0      [点我收藏+]

标签:范围   一个   alt   说明   分享图片   内存   代码   外部   思考   

1.命名空间

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

2.命名空间的分类

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

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

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

3.作用域

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

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

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

4.globals(), locals()

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

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

   技术分享图片

5.关键字 global 和 nonlocal

   技术分享图片

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

   技术分享图片

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

6.函数的嵌套

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

   技术分享图片

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

 

进阶!深入函数!

标签:范围   一个   alt   说明   分享图片   内存   代码   外部   思考   

原文地址:https://www.cnblogs.com/Earth-SmaThing/p/10099147.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!