Pythonのクラスでは、インスタンス変数の入力時にバリデーションチェックを行うことができます。ここでの入力値のバリデーションとは、コンストラクタ__init__内でのバリデーションとsetterメソッド内でのバリデーションを指します。

以下に、Pythonでクラスのインスタンス変数の入力値をバリデーションする一例を示します。

class User:
    def __init__(self, name: str, age: int):
        if type(name) is not str:
            raise TypeError('name must be str')
        self.__name = name
        self.age = age

    @property
    def name(self):
        return self.__name

    @property
    def age(self):
        return self.__age

    @age.setter
    def age(self, val: int):
        if type(val) is not int:
            raise TypeError('age must be int')
        self.__age = val

このコードでは、Userクラスの__init__メソッドとageのsetterメソッドで、入力値が適切な型であることを確認しています。もし適切な型でなければ、TypeErrorを発生させます。

このように、Pythonのクラスを使用すると、コードの再利用性を高め、コードの整理を容易にすることができます。また、バリデーションを含むような複雑なロジックをカプセル化することで、コードの読みやすさと保守性を向上させることができます。.

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です