gaoxiuhua520 发表于 2022-8-19 21:20:35

有没大哥哥小姐姐懂的

var = ' Hi '

def fun1(var):
   
    var = ' Baby '
    return fun2(var)

def fun2(var):
    var += 'I love you'
    fun3(var)
    return var

def fun3(var):
    var = ' 小甲鱼 '


fun1(var)
print(fun1(var))      为什么var=“Hi” 是全局变量,这样做 都是 得到 Baby I love you,怎么样才能把那个HI,放在Baby I love you前面

豆嘉木 发表于 2022-8-19 21:31:13

从头到尾走一遍,全局变量var在调用fun1的第一步就已经没用了,这个程序就是想告诉你变量作用域的关系,嵌套越深,作用域越小,如果非要把HI要放在Baby I love you前面,只能把最后一行改成print("HI"+fun1(var))

临时号 发表于 2022-8-19 21:47:50

var = ' Hi '

def fun1(var):
   
    var += ' Baby '
    return fun2(var)

def fun2(var):
    var += 'I love you'
    fun3(var)
    return var

def fun3(var):
    var = ' 小甲鱼 '


fun1(var)
print(fun1(var))
页: [1]
查看完整版本: 有没大哥哥小姐姐懂的