大家看看这两段代码,执行结果是否一样?
def demo(obj) :
obj = obj + obj
print("形参值为:",obj)
a = [1,2,3]
demo(a)
print("实参值为:", a)
def demo(obj) :
obj += obj
print("形参值为:",obj)
a = [1,2,3]
demo(a)
print("实参值为:", a)
第一段代码的执行结果:
形参值为: [1, 2, 3, 1, 2, 3]
实参值为: [1, 2, 3]
第二段代码的执行结果:
形参值为: [1, 2, 3, 1, 2, 3]
实参值为: [1, 2, 3, 1, 2, 3]
有没有大佬能解释一下?已经思考半天了... 同样都是对列表进行增加数据,为啥+=会开辟新的内存空间,而=却不开辟???