老师我可不可以这样理解,对于{1,2,3}来说地址都是一样的,但是现在a.b就好像是两个指针,指向同一块内存,但是存储指针的地址是不同的,所以输出为false?
来源:5-12 如何判断变量的值、身份与类型
江月枫鱼
2018-05-04
>>> a = {1,2,3}
>>> b = {1,2,3}
>>> a==b
True
>>> a is b
False
>>> id({1,2,3})
2670225347976
写回答
1回答
-
kcoticwolas
2018-05-04
对于你的问题,我的理解如下,供参考。 1. 当你给b赋值{1,2,3}时,python是在内存里另找了一个地址给b。虽然值仍然是{1,2,3},但是地址和之前给a赋值的是不一样的。 2. 可以参考以下代码。 >>> a = {1,2,3} >>> b = {1,2,3} >>> a == b True >>> a is b False >>> b = a >>> a == b True >>> a is b True
10
相似问题