全局变量不能和局部变量重名
时间: 2023-08-06 07:07:06 浏览: 46
全局变量和局部变量命名冲突的问题
在Python中,全局变量和局部变量可以重名,但它们的作用域不同,具体的工作方式取决于变量的定义位置和使用方式。
当一个变量在函数内部被定义时,它就成为了一个局部变量,只在该函数内部有效。如果在函数内部有一个和全局变量同名的局部变量,那么在函数内部使用该变量时,将使用局部变量而不是全局变量。
如果想在函数内部访问全局变量,可以使用Python的`global`关键字。例如:
```python
x = 10
def func():
global x
x = 20
print(x)
func()
print(x)
```
上述代码中,我们定义了一个全局变量`x`,然后在函数`func`内部使用`global`关键字声明该变量为全局变量。在函数内部,我们修改了全局变量`x`的值,并打印了修改后的值。最后,我们在函数外部再次打印`x`的值,可以看到它已经被修改为20。
阅读全文