logger を作り、greet に付けて動かそう。@名前 と書くだけで適用できます。def デコレータ名(func):
def wrapper(*args, **kwargs):
# ← func の前にしたい処理
result = func(*args, **kwargs)
# ← func の後にしたい処理
return result
return wrapper@デコレータ名 と書きます。logger… 関数 func を受け取り、実行の前に「開始」・後に「終了」を表示する新しい関数を返すlogger を greet に付ける(greet の中身は変えない)greet('たろう') の結果が「開始」「こんにちは、たろう!」「終了」の3行になればOK@app.route や @login_required もデコレータで、実務でも非常によく見かけます。@デコレータ名 を関数の真上の行に書く開始 こんにちは、たろう! 終了
全問正解でクエストクリア!
問題 1: 関数実行前に「★実行中★」と表示するデコレータをつけて hello() を呼ぼう!
問題 2: 関数の戻り値を2倍にするデコレータ doubler を使い、double_ten() が 20 を返すようにしよう!
問題 3: 大文字に変換するデコレータ uppercase を使い、「HELLO WORLD」と表示しよう!