在函数内部只能用局部变量
时间: 2023-12-18 12:03:10 浏览: 38
在Python中,函数内部可以访问和使用全局变量,但是如果要修改全局变量的值,则需要在函数内部使用`global`关键字声明该变量为全局变量。否则,Python会将该变量视为函数内部的局部变量,而不是全局变量。
举个例子,假设有一个全局变量`x`,并且定义了一个函数`func`,该函数需要修改`x`的值。如果不使用`global`关键字声明`x`为全局变量,而是直接修改`x`的值,那么Python会将其视为函数内部的局部变量,而不是全局变量。示例如下:
```python
x = 10
def func():
x = 5
print("x inside function:", x)
func()
print("x outside function:", x)
```
运行上述代码,输出结果为:
```
x inside function: 5
x outside function: 10
```
可以看到,函数内部的`x`被视为局部变量,修改它的值并不影响全局变量`x`的值。如果要在函数内部修改全局变量`x`的值,需要使用`global`关键字声明`x`为全局变量,如下所示:
```python
x = 10
def func():
global x
x = 5
print("x inside function:", x)
func()
print("x outside function:", x)
```
运行上述代码,输出结果为:
```
x inside function: 5
x outside function: 5
```
可以看到,函数内部的`x`被视为全局变量,修改它的值后,全局变量`x`的值也被修改了。