ホームページ  >  記事  >  バックエンド開発  >  不変のデータ型とは実際には何を意味するのでしょうか?

不変のデータ型とは実際には何を意味するのでしょうか?

WBOY
WBOYオリジナル
2024-08-12 18:35:54431ブラウズ

What do we REALLY mean by immutable data types?

データ型が可変または不変なのはなぜですか?
例として 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:MyPy の紹介次の記事:MyPy の紹介