|------|--------------------------|----------|
| 特性 | 函数装饰器 | 类装饰器 |
| 作用对象 | 函数 | 类 |
| 传入参数 | 接收函数作为参数 | 接收类作为参数 |
| 返回值 | 返回包装后的函数 | 返回修改后的类 |
| 常见用途 | 修改函数行为 | 修改类的结构 |
| 核心逻辑 | 用闭包包裹函数,在不修改函数代码的前提下扩展功能 | 直接修改类的定义 |
|------|------------------|-----------------|
| 特性 | 类内部定义方法 | 外部赋值定义方法 |
| 语法 | 在class块内使用def | 定义函数后赋值给类属性 |
| 作用域 | 方法可以直接访问类的其他私有成员 | 需要通过self或类名显式访问 |
| 动态性 | 类定义后方法固定 | 可以在运行时动态添加/修改方法 |
| 常见场景 | 常规类定义 | 装饰器、元类、动态编程 |