| 
 | 
 
 
发表于 2019-11-15 11:12:43
|
显示全部楼层
   本楼为最佳答案    
 
 
 本帖最后由 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'
 
  复制代码 |   
 
 
 
 |