为什么a和b引用了相同的地址?
我不知道为什么我们的结果不一样,这就是我想弄明白的地方。
测试的范围的确是[-5,256],但是结果运行上一段代码的结果,为何显示“True”?
我也觉得我的结果奇怪,我之前看到的是,python会将一些比较小的值预先设置好,当你定义a=257时,就会指向预先定义好的对应值的内存地址,b也一样,所以a is b为True,但是不知道为何,我这里是False
你可以搜一下“缓存机制”“缓存重用”之类。False才是正常的,因为a和b不在同一个代码块中。奇怪的是,c、d的地址应该相同才对,因为它们处于同一代码块,python应该会让d直接引用c所引用的地址,而不是开辟新的地址。
附带一句,如果a、b为256,那么结果为True才是正常的。
可以看看这篇http://c.biancheng.net/view/5756.html
看完了,这些内容我在其他文章中看到过。我不知道是哪里出了问题,本该False的地方却来了True。
就像我前面说的,c和d这两个变量,在你发的链接中表现出地址相同,这也是我觉得正常的结果。
你用的vscode吧。这个编辑器需要手动保存。所以你在运行之前保存了吗??
谢谢,每次运行前都会保存,养成习惯了。
这习惯不好。我都是直接设置自动保存。
ok,设置了。