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