Python の各変数はオブジェクトのインスタンスを保持します。 Python のオブジェクトには 2 つのタイプ、すなわち Mutable と Immutable オブジェクトがあります。 オブジェクトがインスタンス化されるたびに、それはユニークなオブジェクトIDを割り当てられます。 オブジェクトのタイプは実行時に定義され、その後変更することはできません。 しかし、Mutableなオブジェクトであれば、その状態を変更することができます。
違いをまとめると、mutableオブジェクトはその状態や内容を変更でき、immutableオブジェクトはその状態や内容を変更できない、ということです。
まとめ
- pythonではmutableオブジェクトとimmutableオブジェクトは異なる扱いをされます。
一方、Mutable オブジェクトは簡単に変更できます。 - Mutable オブジェクトの使用は、オブジェクトのサイズまたは内容を変更する必要がある場合に推奨されます。
- 例外 : しかし、不変性にも例外がある。 pythonのtupleがimmutableであることは知っています。 しかし、タプルはオブジェクトへの変更不可能なバインディングを持つ名前の列で構成されています。
タプルを考えるtup = (, 'myname')
タプルは文字列とリストで構成されています。 文字列は不変なので、その値を変更することはできません。 しかし、リストの内容は変更可能です。 タプル自体は変更可能ではありませんが、変更可能な項目が含まれています。
経験則から言うと、Generally Primitive的な型はおそらくimmutableで、Customized Container的な型はほとんどmutableである。 Pythonプログラミング基礎コースで基礎を強化し、基本を学ぶ。
まずは面接対策 Python DSコースでデータ構造の概念を強化する。
練習用タグ :