今天学了一段代码,大致能明白形参和实参具体的传递流程,但是如果假设形参和实参是一样的变量名,输出的结果还是和形参与实参变量名不同时,效果一样。这又是为什么呢,不是变量被重复赋值后,其原先的内存空间就被抛弃了,变量名指向新的内存空间嘛
def fun1(arg1,arg2):
print('arg1=',arg1,id(arg1))
print('arg2=',arg2,id(arg2))
n1=100
print(arg1,id(arg1))
print(n1,id(n1))
arg2.append(10)
print(arg2,id(arg2))
return
print('')
n1=11
n2=[10,20,30]
print(n1,id(n1))
print(n2,id(n2))
fun1(n1,n2)
print(n1,id(n1))
print(n2,id(n2))