身份运算符疑问
来源:5-12 如何判断变量的值、身份与类型
慕容1078073
2018-01-14
>>> id({2,1,3}) 93757112 >>> id({1,2,3}) 93757112 >>> {1,2,3} is {2,1,3} False
这个是什么原因呢?
写回答
4回答
-
Invistada
2018-02-03
老师,我彻底懵了。
图中a和b的id不一样是没什么疑问的;
但{1,2,3}和{2,1,3}的id一样,甚至{4,1,3}的id都一样?!是怎么回事?
{1,2,3}is{2,1,3}返回的False,且第二次print id的时候发生了变化,这是为什么呢?
我专门查了id()的文档,但也没弄明白。
虽然可能在实际编程中没多大用途,可还是很好奇啊。
然后我还发现了一点,就是打印列表的id的时候,同样会出现id相同的情况,而元组的id则不同。
那么这种情况是跟可变对象和不可变对象有关系?id()返回的到底是什么呀?
012018-02-03 -
7七月
2018-01-23
这里这里。
022018-01-23 -
7七月
2018-01-15
你要看下is是比较什么。is是判断A是否是B,很明显A不是B,是两个不同的对象。
042018-01-23 -
Invistada
2018-01-14
{1,2,3} is {2,1,3} 此时两个集合内存地址不一样
00
相似问题