本帖最后由 jackz007 于 2019-11-15 11:17 编辑 var = ' Hi ' # 全局变量 var 赋初值 ' Hi '
def fun1():
global var # 声明全局变量 var,从此,在 fun1() 函数内部,全局变量 var 可访问,可赋值(如果没有此句,那就只能访问,不能赋值)
var = ' Baby ' # 用新内容 ' Baby ' 覆盖 var 的原有内容 ' Hi '
return fun2(var) # 用对函数 fun2(var) 的调用结果作为本函数的调用结果返回
def fun2(var): # var 是 fun2() 的形式参数,所以,在 fun2() 内部,var 只是一个局部变量,与外部的同名全局变量无关
var += 'I love you' # 从 fun1() 传入的 var = ' Baby ',所以,此刻,var = ' Baby I love you'
fun3(var) # 以 var 为参数调用 fun3()
return var # 返回局部变量 var 的值 ' Baby I love you',同时,也是对函数 fun1() 调用的返回结果
def fun3(var): # var 是 fun3() 的形式参数,属于局部变量
var = ' 小甲鱼 ' # 函数内部对局部变量的修改不会影响到函数以外,也就是说,不会传递到外层函数 fun2() 中,所以,这个修改可以忽略
print(fun1()) # 打印结果:' Baby I love you'
|