# 二维数组中的查找

题目描述:判断下面输出。主要考察全局变量的变化情况。

# 题目

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()
更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

Jalen Chu 微信支付

微信支付

Jalen Chu 支付宝

支付宝

Jalen Chu 公众号

公众号