※有料会員になるとこの動画をご利用いただけます
詳しい説明を読む
#03:イミュータブルなオブジェクトとはなにか
このチャプターでは、イミュータブルなオブジェクトとはなにか学習しましょう。
- id を変えずに値を変えることができないオブジェクトを「イミュータブルなオブジェクト」と言う
- つまり、イミュータブルなオブジェクトは、その値が常に同じであるオブジェクト
- たとえば、次のコードでは変数 a の示すオブジェクトの id が再代入前後で変わる
def show_id(name, value):
print(f"{name}: {id(value)}")
a = 1
show_id("更新前の a", a)
a += 1
show_id("更新後の a", a)
a += 1
で、変数 a の示すオブジェクトの値を変更しようとする- すると、再代入前後で変数 a の示すオブジェクトの id が変わる
- オブジェクトは、その id によって識別されるため、再代入前後で変数 a の示すオブジェクトが変わったことがわかる
- 文字列はイミュータブルなオブジェクト
- そのため、文字列のインデックスを指定して要素を変更しようとすると、エラーが発生する
a = "paiza"
a[3] = "Z"
print(a)
- タプルはイミュータブルなオブジェクト
- そのため、文字列と同様にインデックスを指定して要素を変更しようとすると、エラーが発生する
a = ("apple", 120)
a[1] = 145
print(a)
ログインすると採点できます
コードの実行