第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:}
第一个代码你注释了函数内部的 var = 1314和 函数外部的 print(var),zhi打印结果为 520 没有异议
第二个代码你只注释了外部的 print(var) ,此时函数内部对 var 重新赋值为 1314 触发屏蔽机制,暂时屏蔽外部的 var = 520
此时进行打印 print(var) 结果肯定为局部变量 var 的数值,所以第二个代码打印的结果为 1314
页:
[1]