python-函数中变量名的搜过过程

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_29007291/article/details/82283918

函数中的变量名如何去解释,解释为局部变量?全局?还是什么。。。


The execution of a function introduces a new symbol table used for the local variables of the function. More precisely, all variable assignments in a function store the value in the local symbol table; whereas variable references first look in the local symbol table, then in the local symbol tables of enclosing functions, then in the global symbol table, and finally in the table of built-in names. Thus, global variables cannot be directly assigned a value within a function (unless named in a global statement), although they may be referenced.

总结:

函数执行时,对其中的引用(变量名)进行解释时:
1. 运行函数时,首先为函数创建局部变量表;
2. 解释时,查看此函数的局部变量表是否有此变量,若没有;
3. 再查看 全局变量表, 若没有;
4. 再查看 包含有函数名字的局部变量表,若没有;
5. 再查看 内置名称表
注意: global可以打破2,3的界限

猜你喜欢

转载自blog.csdn.net/qq_29007291/article/details/82283918