デコレータdecorator(デコレータ)。関数を包んで機能を追加するは、関数に「追加機能」をつける仕組みです。スマホのケースをつけるようなもので、元の関数を変えずに機能を追加できます。
| コード | 読み方 |
|---|---|
@timer | この関数に timerタイマー(英: timer)という追加機能をつけて、という宣言 |
def process_orders(orders): | 元の関数 process_orders注文を処理する(英: process=処理、orders=注文) の定義 |
process_orders = timer(process_orders) | @timer は実質的にこれと同じ意味 |
def wrapper(*args, **kwargs): | デコレータの内部で動くラッパー関数 |
@timerタイマー — 計時 = 「この関数に timer という追加機能をつけて」という宣言。@ の下にある関数が対象。デコレータデコレータ — 関数を包んで機能追加自体は「関数を受け取って関数を返す関数」です。Flask や FastAPI でルーティングにも使われます。