オブジェクトID
Python のプログラムはインスタンス、変数、関数、クラスなどといった多様な要素から構成されている。これらは全てオブジェクトとよばれる。オブジェクトがメモリ上に配置された場所のことをオブジェクトIDという。これはオブジェクトに対して一意に割り当てられた、オブジェクトを特定するための情報として用いられる。
オブジェクトIDはid関数【builtin】を用いて確認することができる。変数に格納されたオブジェクトIDを表示しよう。
code:obid1.py
x = 1
print(id(x))
y = 3.14
print(id(y))
上の実験結果より、オブジェクトIDは整数値で表されていることが確認できた。
code:(実行結果).sh
140078972436720
140078970981648
識別子(ここでは変数名)を使わずに、インスタンスのオブジェクトIDを直接調べることもできる。
code:obid2.py
print(id(1)) # (1)
y = id(3.14)
print(y) # (2)
print(id(3 + 4)) # (3)
(1)は、int型「1」インスタンスのオブジェクトIDを表示。
(2)は、float型インスタンス「3.14」のオブジェクトIDを変数yに格納して表示。
(3)は、2つのint型インスタンスを加算した結果得られたインスタンスのオブジェクトIDを表示。
https://scrapbox.io/files/65043ed2c06fab001c24eb9f.png