hero533 发表于 2020-11-15 11:27:35

第19讲第3题为什么输出为1314520

def fun(var):
    #var = 1314
    print(var, end='')

var = 520
fun(var)
#print(var)               
                                                         输出为520




def fun(var):
    var = 1314
    print(var, end='')

var = 520
fun(var)
#print(var)            
                                                         输出为1314                      var=1314不应该是局部变量吗,var=520为全局变量,结果为什么为1314



                                 {:10_254:} {:10_254:} {:10_254:} {:10_254:}

Twilight6 发表于 2020-11-15 11:49:43



第一个代码你注释了函数内部的 var = 1314和 函数外部的 print(var),zhi打印结果为 520 没有异议

第二个代码你只注释了外部的 print(var) ,此时函数内部对 var 重新赋值为 1314 触发屏蔽机制,暂时屏蔽外部的 var = 520

此时进行打印 print(var) 结果肯定为局部变量 var 的数值,所以第二个代码打印的结果为 1314

页: [1]
查看完整版本: 第19讲第3题为什么输出为1314520