Python: オブジェクトのIDを調べる id()
オブジェクトのID表示
PythonでオブジェクトのIDを調べたい場合は、 id()関数を使用します。
id(オブジェクト)
ID番号はオブジェクトごとに振られ、 値は整数値です。
a = 100 b = 20 print(id(a)) # 140706965663216 print(id(b)) # 140706965660656
ID番号が同じになるケース
変数に別の変数を代入する場合は、 参照先が同じになるのでID番号も同じになります。
次のコードでは、変数aと変数bのID番号は同じです。
a = 100 b = a print(id(a)) # 140706965663216 print(id(b)) # 140706965663216
変更不可の文字列型の値を変更した場合
Pythonでは文字列型はイミュータブル(変更不可)です。 ですが次のように「s = "a"」「s = "b"」とうように変更できます。
s = "a" s = "b"
変更不可のはずなのに、変更できてしまう...。
これは値を変更するたびに別のオブジェクトIDが割り当てられているからです。
s = "a" print(id(s)) # 2113170107568 s = "b" print(id(s)) # 2113170091888
上のコードからわかるように、 変数名は一緒でも別のオブジェクトになっています。