python 全局变量和函数内部变量重名时,函数内部变量是全局变量还是局部变量呢?
- 如果不修改函数内部的变量值,则函数内部的变量将看作全局变量。
- 如果修改了函数内部的变量值,即使与全局变量同名,也会视作为函数内部的局部变量。如果此时内部变量还没assignment,就会报错
UnboundLocalError: local variable 'xxx' referenced before assignment
。
如果想要在函数内部使用并修改外部定义好的全局变量,则要在函数内部的变量前加global
关键字声明是全局变量。