Pythonを勉強していて、デコレータについて混乱しています。デコレータを例を挙げて説明してください。
デコレータは、Pythonの関数やメソッドに機能を追加するための仕組みです。デコレータを使うことで、コードの再利用性や可読性を向上させることができます。具体的には、関数の実行前後に追加の処理を挟むことができます。

例えば、関数の実行時間を計測するデコレータを考えてみましょう。

```python
import time

def timer_decorator(func):
    def wrapper(*args, kwargs):
        start_time = time.time()
        result = func(*args, kwargs)
        end_time = time.time()
        print(f"Function {func.__name__} took {end_time - start_time} seconds to execute.")
        return result
    return wrapper

@timer_decorator
def sample_function():
    time.sleep(2)
    print("Function executed.")

sample_function()
```

このコードでは、`sample_function`の実行時間を計測するために`timer_decorator`というデコレータが使われています。`timer_decorator`は、関数の実行前後に時間を計測し、実行時間を表示する処理を追加しています。

このように、デコレータを使うことで、関数やメソッドに追加の機能を簡単に付与することができます。デコレータは、コードの再利用性を高め、コードの可読性も向上させる強力なツールです。