# 二维数组中的查找
题目描述:判断下面输出。主要考察全局变量的变化情况。
# 题目
name = '123' | |
def func2(): | |
print(name) | |
def func1(): | |
name = '456' | |
func2() | |
func1() |
# 答案
输出 '123'
# 分析
python 中对于全局变量的修改需要先将变量名用 global 修饰,具体如下,输出为 '456',这样就能改变全局变量的值了。而上面的情况是因为当我们将 456 分配给名称 name 时,Python 会创建一个局部变量来隐藏同名的全局变量。
name = '123' | |
def func2(): | |
print(name) | |
def func1(): | |
global name | |
name = '456' | |
func2() | |
func1() |
当然,对于列表、字典这种只是修改其中某个元素的值,是可以不用 global 修饰的,如下会输出 ['Jady', 'Moe', 'Jones']:
names = ['Jalen', 'Moe', 'Jones'] | |
def func2(): | |
print(names) | |
def func1(): | |
names[0] = 'Jady' | |
func2() | |
func1() |