python中+与+=,=+
int
float
# 一:对于列表的操作; + 运算符可以使用在列表上,+ 运算符只需要第二个操作数是可迭代的,isinstance([], Iterable)为True,列表为可迭代的
tmp = [1,2]
print("tmp 内存地址是:%s" %id(tmp))
#第一种
#tmp += [3,4]
#结论:地址未变,对于可变对象,+ 操作改变了值,id肯定会变,而+= 是本地操作,其值原地修改
# tmp 内存地址是:2939192697480
# tmp 内容是:[1, 2, 3, 4]
# tmp += 后内存地址是:2939192697480
#第二种
#结论:地址改变,对于+号操作,可变对象和不可变对象调用的都是__add__操作
#tmp = tmp + [3,4]
# tmp 内存地址是:2332801720968
# tmp 内容是:[1, 2, 3, 4]
# tmp += 后内存地址是:2332831383880
#第三种
#结论:报错
#tmp =+ [3,4]
#TypeError: bad operand type for unary +: 'list'
print("tmp 内容是:%s" %tmp)
print("tmp += 后内存地址是:%s" %id(tmp))
#二:对于int类型,不可变变量,
sum1 =+ 1;未创建新对象;

sum1=sum1+1,+创建新对象,
sum1 +=1,创建了新对象,
对于+=号操作,可变对象调用__add__,内存地址不变
不可变对象调用的是__iadd__(不可变对象没有__iadd__) __iadd__是原地修改,内存地址改变
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南