デコレーターで関数の入力値をチェックする方法
デコレータを使用して関数の入力値をチェックする方法は、データの整合性やエラーハンドリングのために非常に役立ちます。以下に、関数の入力値をチェックするデコレータの例を示します。
python
# 入力値をチェックするデコレータ def input_check_decorator(func): def wrapper(*args, **kwargs): for arg in args: if not isinstance(arg, int): raise TypeError("引数は整数である必要があります") result = func(*args, **kwargs) return result return wrapper # デコレータを使用して入力値をチェック @input_check_decorator def add(a, b): return a + b @input_check_decorator def subtract(a, b): return a - b # 関数を呼び出す result1 = add(10, 5) # 15 result2 = add("10", 5) # エラー: 引数は整数である必要があります result3 = subtract(10, 5) # 5 result4 = subtract(10, "5") # エラー: 引数は整数である必要があります
このコードでは、input_check_decoratorデコレータを定義し、その中で関数に渡された引数が整数であるかをチェックしています。もし引数が整数でない場合、TypeError例外が発生します。
デコレータを関数に適用することで、関数の入力値が指定した条件を満たすかどうかを自動的にチェックできます。これにより、関数が不正な入力で呼び出された場合にエラーを発生させることができます。
この方法を使えば、関数が期待通りの型の引数を受け取ることを保証し、プログラムの品質や信頼性を向上させるのに役立ちます。ただし、引数のチェックが適切であることを確認するために、プロジェクトの要件に合わせてカスタマイズが必要かもしれません。

ディスカッション
コメント一覧
まだ、コメントがありません