March 2023
Intermediate to advanced
384 pages
5h 30m
Japanese
データクラスは、関連するデータを1つにまとめられるユーザ定義型である。整数、文字列、列挙型などの多くのデータ型はスカラーであり、単一の値だけを表現する。リスト、集合、辞書などは、主に同種コレクションを表す。しかし、これらとは別に、単一のデータ型に複数のデータフィールドを組み込みたい場合がある。辞書やタプルなら可能だが、これらにはまだ問題がある。実行時に辞書やタプルに何が格納されているかわかりにくいことがあり、コードが読みにくくなるのだ。そのため、コードを読んだりレビューしたりする際に推論が難しくなることがある。これはロバストネスを大きく損ねる。
データがどういうものかがわかりにくいと、読み手は前提条件を読み誤り、バグの発見が難しくなる。データクラスはこれらよりも読みやすく理解しやすい。そして、型チェッカはデータクラスの自然な扱い方を知っている。
データクラスは単一の複合型にまとめられた変数の異種コレクションを表す。複合型は複数の値から構成され、何らかの関連性や論理的なまとまりを表していなければならない。たとえば、Fraction(分数)は典型的な複合型である。Fractionには、numerator(分子)とdenominator(分母)の2個のスカラー値が含まれる。
from fractions import Fraction Fraction(numerator=3, denominator=5)
このFractionは、numeratorとdenominatorの間の関係を表す。numeratorとdenominatorは互いに独立しており、片方を変えたからといってもう片方も変わることはない。しかし、これらをデータ型に結合することで2つの値は組となって論理的な概念を生み出す。 ...
Read now
Unlock full access