标签:范围 一个 alt 说明 分享图片 内存 代码 外部 思考
"我思故我在",思考的结果最终还需要代码来实现,当你想要实现某些功能时,解释器必然参与其中。与此同时,内存中便会"开辟"出一个空间,用来记录变量名及其值得对应关系。这里需要说明一下,当解释器遇到函数时,函数内部如何,解释器是无视的,唯有其被调用时,解释器才会认真参与到函数的运行当中去,直到运行完毕,内存被自然释放。
全局命名空间:拿函数做一个参照物,在一个py文件中,我们在函数外部命名的变量均属于全局命名空间
局部命名空间:函数内部命名的变量属于局部命名空间
内置命名空间:存放python解释器为我们提供的内置函数,如list,tuple,str,int等等
作用域:即为作用范围,分为全局作用域和局部作用域
全局作用域:包括全局命名空间和内置命名空间。在整个文件任何位置均可使用。
局部作用域:只在函数内部可以使用。
globals()函数用来查看全局作用域中的内容
locals()函数用来查看局部作用域中的变量
这段代码中,global表示,不再使用局部作用域中的变量,改为使用全局变量。
nonlocal表示在局部作用域中,调用父级命名空间中的变量
至于函数的嵌套,直接给代码,体验一下吧。
作于十日晚,周边较为嘈杂。
标签:范围 一个 alt 说明 分享图片 内存 代码 外部 思考
原文地址:https://www.cnblogs.com/Earth-SmaThing/p/10099147.html