python- +和+=的区别

 

区别:

+使用__add__函数,返回新地址

+=  可变数据时使用__iadd__函数 ,返回原地址;不可变数据用__add__函数

 

不可变数据

#不可变数据  +和+= 都用__add__函数
i=10
i=i+2
print(id(i))

i+=2
print(id(i))

 

可变数据

#   可变数据  +使用__add__函数,返回新地址
#           +=使用__iadd__函数 ,返回原地址

list1=[10]
print(id(list1))

list1=list1+[20]  #+使用__add__函数,返回新地址
print(id(list1))

 

#   可变数据  +使用__add__函数,返回新地址
#           +=使用__iadd__函数 ,返回原地址

list1=[10]
print(id(list1))

list1+=[20]  #+=使用__iadd__函数 ,返回原地址
print(id(list1))

  

 

 

 

posted @ 2024-09-17 11:09  天子骄龙  阅读(69)  评论(0)    收藏  举报