id(name)
2 つの名前が同じオブジェクトを表しているかどうかを確認するために使用できます。
>>> a = b = c = [0, 3, 5]
>>> print(id(a), id(b), id(c))
46268488 46268488 46268488
リストは変更可能です。これは、新しいオブジェクトを作成せずにその場で値を変更できることを意味します。ただし、値を変更する方法によって異なります。
>>> a[0] = 1
>>> print(id(a), id(b), id(c))
46268488 46268488 46268488
>>> print(a, b, c)
[1, 3, 5] [1, 3, 5] [1, 3, 5]
に新しいリストを割り当てるとa
、その id が変更されるため、b
およびc
の値には影響しません。
>>> a = [1, 8, 5]
>>> print(id(a), id(b), id(c))
139423880 46268488 46268488
>>> print(a, b, c)
[1, 8, 5] [1, 3, 5] [1, 3, 5]
整数は不変であるため、新しいオブジェクトを作成せずに値を変更することはできません。
>>> x = y = z = 1
>>> print(id(x), id(y), id(z))
507081216 507081216 507081216
>>> x = 2
>>> print(id(x), id(y), id(z))
507081248 507081216 507081216
>>> print(x, y, z)
2 1 1