关于#python#的问题:如果要查找变量的地址应该怎么找


a = 114
c = a
id(114)
id(a)
id(c)

img


为什么三次id()的结果是一样的?如果要查找变量的地址应该怎么找?

根据两位答主的回答追加实验

img

这里对象和变量被赋予不同的内存位置,但a和c是两个不同的变量,即使赋值a=c,也只是两者的“变量值”相等,为什么内存地址也相同呢?

这是python对内存的优化方式,0-256的数字全部静态的占据内存地址,如果一个变量的值在这个范围内,就直接把它指向这个地址,而不是单独占据一块内存
如果你需要变量各自占据不同的地址,那把数字扩大到1000以上,或者让它是个非整型的对象