全局变数只能在函数外读取该值,不能在函数内读取该值
时间: 2024-01-01 15:03:50 浏览: 138
Python全局变量-函数内部不允许修改局部变量的值
是的,全局变量可以在函数内读取和使用。下面是一个例子:
```python
# 定义全局变量
global_var = 10
def my_function():
# 在函数内部使用全局变量
print("全局变量的值为:", global_var)
# 调用函数
my_function() # 输出: 全局变量的值为: 10
```
在上面的例子中,我们定义了一个名为 `global_var` 的全局变量,并在 `my_function` 函数中使用它。当我们调用 `my_function` 函数时,它会打印出全局变量的值,即 `10`。这表明函数内部可以读取和使用全局变量。
但是,如果你尝试在函数内部修改全局变量的值而不使用 `global` 关键字,将会创建一个新的局部变量,而不是修改全局变量的值。下面是一个示例:
```python
# 定义全局变量
global_var = 10
def my_function():
# 尝试修改全局变量的值
global_var = 20
print("在函数内部修改后的全局变量的值为:", global_var)
# 调用函数
my_function() # 输出: 在函数内部修改后的全局变量的值为: 20
print("在函数外部访问全局变量的值为:", global_var) # 输出: 在函数外部访问全局变量的值为: 10
```
在上面的例子中,我们在 `my_function` 函数内部尝试修改全局变量 `global_var` 的值为 `20`,但实际上创建了一个新的局部变量,而不是修改全局变量。因此,当我们在函数外部访问全局变量时,它的值仍然是 `10`。
为了在函数内部修改全局变量的值,我们需要使用 `global` 关键字,如之前提到的例子中的 `another_function`。
阅读全文