Practice #4
Coddyの「Pythonデコレーター」コースのレッスン 11/12。
チャレンジ
中級関数の入力引数を特定の範囲内に制限する、restrict_range という名前のデコレータを作成してください。
このデコレータは、入力引数に許可される最小値と最大値を示す2つのパラメータを受け取る必要があります。入力引数が指定された範囲外である場合、デコレータは例外 ValueError("Input argument out of range") を発生させる必要があります。
デコレータの使用例を以下に示します:
@restrict_range(0, 10)
def add(a, b):
return a + b
res = add(6, 5) # 11 を返します
res = add(3, 11) # ValueError を発生させます以下を前提として構いません:
restricted_rangeでデコレートされたすべての関数は、引数として数値のみを使用します。restricted_rangeでデコレートされたすべての関数は、**kwargsを使用せず、*argsのみを使用します。
自分で試してみよう
Pythonデコレーターのすべてのレッスン
自分で練習してみよう: Pythonオンラインコンパイラ