【发布时间】:2019-12-03 10:11:49
【问题描述】:
我正在做一个简单的测试来验证可变性我有一个变量var
我想验证= 赋值运算符是否会更改我正在做的同一内存位置的值
var = 1
打印var的地址我愿意
hex(id(var)) 它给了我'0x1b65158' 然后我分配新值var = 2 但现在hex(id(var)) 更改为'0x1b65140' 如果它正在更改相同的位置,它应该返回相同的不是吗?请解释
注意:我不想做提到here 的相同任务。我试图了解它是如何可变分配的。而且我并不想在这里创建常量。
【问题讨论】:
-
如果我理解正确 -
int是不可变的,所以重新分配它也会改变位置是有道理的。 -
@ItamarMushkin 你是对的!!谢谢
-
@DavidCullen 这不是关于创建常量:)