我在python控制台中运行command:
为什么2结果不同?
>>>S1 = 'HelloWorld'
>>>S2 = 'HelloWorld'
>>>S1 is S2
True
>>>S1 = 'Hello World'
>>>S2 = 'Hello World'
>>>S1 is S2
False ---------i think the result is True,why it is False
答案 0 :(得分:0)
is
仅当对象是同一个对象时,结果才为真。
==
将为真。
>>> S1 = 'HelloWorld'
>>> print id(S1)
4457604464
>>> S2 = 'HelloWorld'
>>> print id(S2)
4457604464
>>> S1 is S2
True
上述代码表示S1
和S2
是同一个对象。它们具有相同的内存位置。所以S1
是S2
。
>>> S1 = 'Hello World'
>>> S2 = 'Hello World'
>>> print id(S1)
4457604320
>>> print id(S2)
4457604272
>>> S1 is S2
False
现在,它们是不同的对象,因此S1
不是S2
。