人人人示走刀口 发表于 2020-4-21 20:30:27

有个问题

var = ' Hi '

def fun1():
    global var
    var = ' Baby '
    return fun2(var)

def fun2(var):
    var += 'I love you'
    fun3(var)
    return var

def fun3(var):
    var = ' 小甲鱼 '

print(fun1())
这程序中的小甲鱼为什么被吃了

liuzhengyuan 发表于 2020-4-21 20:31:51

fun3 设定的 var 是局部变量,一离开原函数就无效了,他的值又变回 'I love you' 了

zltzlt 发表于 2020-4-21 20:34:48

本帖最后由 zltzlt 于 2020-4-21 20:39 编辑

fun3 中的 var 只是局部变量,因为并没有把 fun3 中的 var 用 global 设为全局变量,所以出了 fun3 后,fun3 中的局部变量 var 就相当于废了
页: [1]
查看完整版本: 有个问题