要使生活简化,需避免局部变量与全局变量或其它局部变量同名。然而,技术上,在Python中让局部变量与全局变量同名是合法的。让我们通过在编辑器中输入以下代码并保存为sameName.py来观察实际结果:运行该程序后,输出如下:bacon local spam local bacon local global 在这个程序中,存在三个不同的变量,它...
python-名称相同的局部变量和全局变量
要使生活简化,需避免局部变量与全局变量或其它局部变量同名。然而,技术上,在Python中让局部变量与全局变量同名是合法的。让我们通过在编辑器中输入以下代码并保存为sameName.py来观察实际结果:
运行该程序后,输出如下:
bacon local
spam local
bacon local
global
在这个程序中,存在三个不同的变量,它们都命名为bacon。具体是:
1. 在spam()被调用时局部作用域中存在的名为bacon的变量;
2. 在bacon()被调用时局部作用域中存在的另一个名为bacon的变量;
3. 在全局作用域中存在的第三个名为bacon的变量。
由于这三个独立的变量同名,追踪某一时刻使用的是哪个变量可能会变得复杂。这就是避免在不同作用域内使用相同变量名的原因。2024-10-18