因为你将sum设置为全局变量了,经过第一个print, sum变成了3,并且被储存下来,然后经过第二个print,就变成了sum = 3 + 100 + 200,因此最红是303
在函数myadd里面,将sum定义为全局变量,当传入参数(1,2)时,此时sum=3,返回值3。传入参数(100,200)时,此时sum=303,返回值300。所以最终的sum等于303
初始sum = 0
执行print(mgadd(1,2))后,
sum+ = x+y 等效于sum = sum + x+y = 0+ 1 + 3 = 3
此时sum = 3
执行print(mgadd(100,200))后,
sum+ = x + y 等效于sum = sum + x + y = 3 + 100 + 200 = 303
此时sum = 303
所以输出为303
有帮助请采纳哦