彻底晕,局部变量和全局变量的问题
本来自以为还是蛮清晰的,但看了课后练习发觉一笔糊涂账var = 'hi'
def fun1():
global var
var = 'baby'
return fun2(var)
def fun2(var):
var += 'ilove you'
fun3(var)
return var
def fun3(var):
var = '小甲鱼'
print(fun1())
为何全局变量var = ‘baby’会进入fun2(var)函数中去,fun2里面并没有定义过global啊,我认为fun2里面的var是局部变量的。这是什么情况呢? fun2(var)函数通过形参的形式传进来的var,传进来之后,修改的var变量也是局部的,并不会影响到全局的。 因为fun1里的返回值,给fun2传参,传的是最顶上的那个全局变量,fun2里面又给传过来的参数修改了 我把global注释掉了,结果一样。
页:
[1]