id関数とは?
Pythonのid関数とは、指定したオブジェクトの「識別子」を取得するための関数です。
この識別子は、Pythonの内部では各オブジェクトを一意に識別するために使用されます。
もっと具体的に言うと、オブジェクトの「メモリ上のアドレス」を返します。
それでは、このid関数をどのように使うのか、具体的なコードを見ていきましょう。

id関数の基本的な使い方
まずは、id関数の基本的な使い方から見ていきましょう。
id関数は非常にシンプルな構造をしています。
関数の中にオブジェクトを指定するだけで、そのオブジェクトの識別子(メモリ上のアドレス)を返します。
ソースコード例
1 2 |
a = "Hello, Python!" print(id(a)) |
出力結果
140734966974192

id関数での同一性の確認
次に、id関数を使ってオブジェクトの同一性を確認する例を見てみましょう。
オブジェクトが同一であるとは、メモリ上の同じ位置(アドレス)を指している、つまり本当に「同じもの」であることを指します。
ソースコード例
1 2 3 |
a = [1, 2, 3] b = a print(id(a) == id(b)) # Trueが出力される |
True

id関数での等価性の確認
では、等価なオブジェクトについて見てみましょう。
「等価」とは、内容が同じであることを指します。
しかし、内容が同じであっても、オブジェクトの識別子は異なる可能性があります。
それはつまり、別々のメモリ上の位置を指している、つまり「別のもの」であるということです。
ソースコード例
1 2 3 |
a = [1, 2, 3] b = [1, 2, 3] print(id(a) == id(b)) # Falseが出力される |
出力結果
False

まとめ:Pythonのid関数の使い方
今回はPythonのid関数について解説しました。
id関数はオブジェクトの一意の識別子、つまりメモリ上のアドレスを返す関数であり、オブジェクトの同一性や等価性を判定する際に役立つ関数です。
Pythonプログラミングにおいて、id関数を理解して活用することは非常に重要です。
ぜひ、今回学んだことを実際のコードに活かしてみてください。
最後まで読んで頂き、ありがとうございました。少しでもお役にたてたなら幸いです!
