开发者

How do I check if two variables reference the same object in Python? [duplicate]

This question already has answers here: Compare if two variables reference the same object in python 开发者_如何学Python (6 answers) Closed 3 months ago.

x and y are two variables.

I can check if they're equal using x == y, but how can I check if they have the same identity?

Example:

x = [1, 2, 3]
y = [1, 2, 3]

Now x == y is True because x and y are equal, however, x and y aren't the same object.

I'm looking for something like sameObject(x, y) which in that case is supposed to be False.


You can use is to check if two objects have the same identity.

>>> x = [1, 2, 3]
>>> y = [1, 2, 3]
>>> x == y
True
>>> x is y
False


Use x is y or id(x) == id(y). They seem to be equivalent.

id(object) returns a unique number (identity) that adapts the philosophy of C-style pointer. For debugging id(x) == id(y) is more convient.

x is y is prettier.


== utilizes equal comparator object.__eq__(self, other)

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜