### 装饰器(decorator) ``` 定义:装饰器用于拓展原来函数功能的一种语法,返回新函数替换旧函数 优点:在不更改原函数代码的前提下 给函数拓展新的功能 ``` ### 方法的分类 ``` 普通方法: 没有任何参数传递,只能类调用 绑定方法: 把默认传参的方法叫做绑定方法,绑定到对象(默认传对象),绑定到类(默认传类) 非绑定方法:静态方法 (无需传任何参数,对象和类都能调用) ``` ### property ``` 用property类装饰器,修饰的方法,变为描述符 效果:把类中方法变为属性使用,用来控制描述符的获取,设置,删除 ``` ### 与类相关的魔术属性 ``` # __dict__ 获取对象或类的内部成员结构 # __doc__ 获取对象或类的内部文档 # __name__ 获取类名函数名 # __class__ 获取当前对象所属的类 # __bases__ 获取一个类直接继承的所有父类,返回元组 ``` ### 反射 ``` # 概念:通过字符串去操作类对象 或者 模块中的属性方法 # (1)类中的反射 #hasattr() 检测对象/类是否有指定的成员 #getattr() 获取对象/类成员的值 #setattr() 设置对象/类成员的值 #delattr() 删除对象/类成员的值 # (2)模块的反射 sys.modules 返回一个系统字典,字典的键是加载的所有模块 ```