中国好青年 发表于 2021-2-18 21:37:13

为什么global var的有无不影响程序结果

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())

jackz007 发表于 2021-2-18 22:07:51

本帖最后由 jackz007 于 2021-2-18 22:10 编辑

      因为你的代码设计没有体现出全局变量 var 的作用。试试这个代码呢。
      所有以 var 为参数的函数,var 都不再是全局变量。所以,只有在函数 fun1() 中, var 才是全局变量。
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())
print(var)

中国好青年 发表于 2021-2-18 22:16:14

jackz007 发表于 2021-2-18 22:07
因为你的代码设计没有体现出全局变量 var 的作用。试试这个代码呢。
      所有以 var 为参数的 ...

谢谢大佬
页: [1]
查看完整版本: 为什么global var的有无不影响程序结果