yjptx121 发表于 2020-1-13 21:43:46

第十九课第四题

var = ' Hi '                  #全局变量 var = ' Hi '
def fun1():                  #定义函数fun(1)
    global var               #声明全局变量var,这里将var函数进行了修改
    var = ' Baby '            #定义全局变量var = Baby
    return fun2(var)      #返回值为fun(2)函数
def fun2(var):               # 定义函数fun2(var)
    var += 'I love you'   #此时var = Baby I love you
    fun3(var)                  #嵌套 fun3(var)函数
    return var               #返回 var = Baby I love you ,与fun3()函数无关了
def fun3(var):
    var = ' 小甲鱼 '
print(fun1())

以上为我的理解,不知道是否正确,求高人指教

zltzlt 发表于 2020-1-13 21:45:27

基本上是正确的{:5_109:}

yjptx121 发表于 2020-1-13 21:58:48

zltzlt 发表于 2020-1-13 21:45
基本上是正确的

多谢关注,我对自己又有了一点点信心了{:5_109:}

jackz007 发表于 2020-1-13 22:07:34

var = ' Hi '                   # 定义全局变量 var = ' Hi '
def fun1():                  # 函数 fun1() 无输入参数
    global var               # 声明全局变量 var,凡是在本函数作用域范围内出现的 var 都是全局变量,而且,可读写
    var = ' Baby '             # 为全局变量赋新值 var = ' Baby '
    return fun2(var)         # 函数 fun1() 返回以全局变量 var 为输入参数,对函数 fun2() 的调用结果
def fun2(var):               # var 是函数 fun2() 的形式参数,在本函数内,var 是局部变量,与同名全局变量无关
    var += 'I love you'      # 为局部变量 var 赋新值 var = var + 'I love you' = ' Baby I love you'
    fun3(var)                  # 以局部变量 var 为输入参数调用函数 fun3(),该调用无法改变局部变量 var 的内容
    return var               # 函数 fun2() 返回局部变量 var 内容:' Baby I love you'
def fun3(var):               # var 是函数 fun3() 的形式参数,在本函数内,var 是局部变量,与同名全局变量无关
    var = ' 小甲鱼 '         # 为局部变量 var 赋新值 var = ' 小甲鱼 '
print(fun1())                  # 打印对函数 fun1() 实际上是对函数 fun2() 的调用结果 ' Baby I love you'

yjptx121 发表于 2020-1-15 21:13:13

jackz007 发表于 2020-1-13 22:07


多谢指正{:5_110:}
页: [1]
查看完整版本: 第十九课第四题