根据此Python代码可视化工具,Python字符串分配在堆栈上,而不分配在堆上。
为什么是这样?我以为它们类似于在堆上分配字符串的Java。
根据此Python代码可视化工具,Python字符串分配在堆栈上,而不分配在堆上。
为什么是这样?我以为它们类似于在堆上分配字符串的Java。
Answers:
格雷格在回答中说过,字符串是在堆上分配的。
可视化工具选择在“框架”部分显示一些对象,这对我来说似乎是错误的。幸运的是,它对学习python的人几乎没有影响,因为受影响的对象(int,string)是不可变的。因此,关于影响的推理仍然是可能的。
但是,当您执行以下操作时,会给人一种错误的印象:字符串在内存中重复:
x = "hello"
y = x