python学习笔记

    xiaoxiao2021-03-26  28

    静态方法

    定义方法:

    (1)@staticmethod装饰  (2)参数不用self

    访问特性:

    (1)不能引用或访问实例属性 (2) 可以通过类、类变量访问类属性

    调用方法:

    可以用类、类实例调用

    本质:

    在类中的一个普通函数而已 使面向对象程序中函数归属于类,易于代码管理

    用法:

    (1)与类相关,但不依赖或改变类与实例 创建不同的实例  (2)把类相关工具方法放入类中

    类方法

    定义方法:

    (1) @classmethod  (2)必须提供参数cls

    访问特性:

    不能引用或访问实例属性

    调用方法:可以用类、实例调用

    继承特性: 继承时,传入的类变量cls是子类,而非父类

    用途:

    (1)与类相关,但不依赖或改变类的实例 工厂方法,创类实例完成有关预处理 

    (2)在类内调用静态方法时不用硬编码类名

    实例属性 类属性 类定义后就存在,而且不需要实例化 类属性使得相同类的不同实例共同持有相同变量 私有属性 不提供限制属性访问的关键字(无法限制类的各种属性在类外直接访问) 使用__开头的变量名加以标志,只有类对象自己能访问 使用_开头的变量名加以标志,应该只有类对象及其子类能访问(非强制性) 特殊属性 保存对象的元数据

    __doc__ __name__ __dict__ __module__ __base__ 属性访问的特殊方法(反射) 主要工具函数 hasattr(obj_name,'属性名') setattr(obj_name,'属性名','值') getattr(obj_name,'属性名') 属性包装 三种属性操作 (1)可读@property (2)可写@<property-name>.setter (3)可删@<property-name>.delete 描述符 将实现特殊协议方法的类作为另一个类的类属性 用来拦截和控制属性访问并可以重复使用 协议方法 __get__() __set__() __delete__() 数据描述符(实现全部协议方法) 非数据描述符(实现部分协议方法)   说明:所有类成员函数都是非数据描述符 注意:只能在新式类中使用 __call__()让类的实例如函数一样可调用 类 类也是一个对象,但是具有创建其自身实例的能力 类可以和一个变量进行绑定 可以为类增加属性 可以把它作为函数的参数传递 元类 类的创建和管理者 所有的类是元类的实例 类实例化过程 自定义元类 目的:对其创建的类进行预处理 继承type 定义__new__()方法 还可以定义__init__()方法 应用元类 类继承中提供关键字参数:metaclass=元类名 构造序列 __len__(self) __getitem__(self,key) __setitem__(self,key,value) __delitem__(self,key) 构造iter __iter__(self) __next__(self) 构造可比较类

    __lt__() __le__() __gt__() __ge__() __eq__() __ne__() 构造可运算类 __add__() __sub__() __mul__() __div__()

    转载请注明原文地址: https://ju.6miu.com/read-663951.html

    最新回复(0)