灿君君 发表于 2017-7-20 22:01:10

关于局部变量和全局变量

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())
这一题的步骤有点看不懂,global var我知道,是把var变成全局变量的意思。所以 var += 'I love you'变成了 baby I love you,但是有个fun3(var)插在中间,那么此时的return var怎么解读啊。

Krant5 发表于 2017-7-20 22:40:36

fun3()有自己的局部变量,不会影响到其他函数中的var值,所以函数2中的var 依然是 baby i love you ,直接返回该字符串,所以打印也是这个字符串

灿君君 发表于 2017-7-20 22:48:18

Krant5 发表于 2017-7-20 22:40
fun3()有自己的局部变量,不会影响到其他函数中的var值,所以函数2中的var 依然是 baby i love you ,直接返回 ...

没懂你的意思??

Krant5 发表于 2017-7-21 08:01:17

灿君君 发表于 2017-7-20 22:48
没懂你的意思??

def fun2(var):
    var += 'I love you' #这里var= Baby i love you
    fun3(var) #调用fun3只是传值,是无法改变var本身的值的所以下面return 还是原样输出
    return var

xinyueliw6 发表于 2017-7-22 17:02:45

{:5_104:}
页: [1]
查看完整版本: 关于局部变量和全局变量