データ型が可変または不変なのはなぜですか?
例として Python を見てみましょう。
Python のデータ型は基本的にオブジェクトまたはクラスであり、int はクラス、float、リストなどです。
したがって、x=6 と書くと、値 6 を持つ新しい 整数オブジェクト が作成され、このオブジェクトに x という参照がポイントされます。
ここでクラスについて調べる必要があります。クラスは基本的にデータと関数をグループ化します。関数はメソッドと呼ばれ、accessor メソッドと mutator メソッドの 2 つのタイプがあります。
アクセサー メソッドはオブジェクトの現在の状態にアクセスしますが、オブジェクト自体は変更しません (例:
)x = "こんにちは"
y = x.upper()
ここでは、x が参照するオブジェクトに対してメソッド upper が呼び出され、upper アクセサーは新しいオブジェクト、つまり元の文字列を大文字にした str オブジェクトを返します。 (自由に読み直してください)、基本的には元のオブジェクトに基づいて新しいオブジェクトが返されますが、大文字になっているだけです。
一方、Mutator メソッドは既存のオブジェクトの値を変更します。その良い例はリスト型 (クラス) です。
新しいリスト = [1,2,3]
newList.reverse()
このメソッドは既存のオブジェクトを変更します。ミューテーター メソッドは元に戻すことができません。
これらのミューテーター メソッドが欠如しているデータ型は不変であると言われるため、アクセサー メソッドのみが含まれ、欠如しているデータ型は変更可能です。
これがお役に立てば幸いです。興味を持ち続けてください:)
以上が不変のデータ型とは実際には何を意味するのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。