请详细介绍一下Python中的装饰器，至少包含三个具体例子，并且必须以表格形式呈现
user
| 特性/功能       | 描述                                                                 | 示例代码                                                                 |
|----------------|----------------------------------------------------------------------|------------------------------------------------------------------------|
| 基本装饰器       | 装饰器是一个函数，它接受另一个函数并扩展其行为而不显式修改它。                                          | ```python
def my_decorator(func):
    def wrapper():
        print("Something is happening before the function is called.")
        func()
        print("Something is happening after the function is called.")
    return wrapper

@my_decorator
def say_hello():
    print("Hello!")

say_hello()
```                                                                 |
| 参数化装饰器     | 装饰器可以接受参数，这使得装饰器更加灵活，能够根据不同参数执行不同的操作。                                   | ```python
def repeat(num):
    def decorator(func):
        def wrapper(*args, **kwargs):
            for _ in range(num):
                result = func(*args, **kwargs)
            return result
        return wrapper
    return decorator

@repeat(num=3)
def greet(name):
    print(f"Hello {name}")

greet("Alice")
```                                                                 |
| 类装饰器         | 类也可以用作装饰器，通常用于管理类的实例，而不是函数。                                                  | ```python
class DecoratorClass:
    def __init__(self, func):
        self.func = func

    def __call__(self, *args, **kwargs):
        print("Class decorator starting")
        result = self.func(*args, **kwargs)
        print("Class decorator ending")
        return result

@DecoratorClass
def say_goodbye(name):
    print(f"Goodbye {name}")

say_goodbye("Bob")
```                                                                 |
assistant