pikesaku’s blog

個人的な勉強メモです。記載内容について一切の責任は持ちません。

PythonのオブジェクトID

オブジェクトIDとは?

インタプリタがオブジェクトを管理するID
メモリ上のオブジェクトの場所を示す情報

2つのオブジェクトが同じかは、is で判定可能
id関数で確認できる

>>> a = [1,2]
>>> b = [1,2]
>>> id(a)
4391089224
>>> id(b)
4391101704
>>> a == b
True
>>> a is b
False
>>> 

リストは可変。2つのオブジェクトは別ものとして管理。
イミュータブル(不変)なオブジェクトのstringで値が同じ場合は同一のIDとなる。
メモリ効果がある。

>>> a = 'abc'
>>> b = 'abc'
>>> id(a)
4389672752
>>> id(b)
4389672752
>>> a == b
True
>>> a is b
True
>>>