创建对象,我们需要定义构造函数__init__()方法。构造方法用于执行“实例对象的初始化工 作”,即对象创建后,初始化当前对象的相关属性,无返回值。
self必须为构造函数的第一个参数,名字可以任意改。
__new__()方法用于创建对象,但是我们一般无须重定义该方法。
函数和方法的区别:1、用来完成一个功能的语句块,本质上一样;2、方法调用时,通过对象来调用;3、直观上来说,方法定义时需要传递self。
dir()可以获得对象的所有属性和方法;obj.__dict__对象的属性字典;pass空语句;isinstance(对象,类型)是不是指定类型。
类方法是从属于“类对象”的方法,类方法通过@classmethod来定义
@classmethod必须位于方法的上一行;cls必须有,cls指的是类对象本身;类方法访问实例属性和实例方法会导致错误;子类继承父类方法时,传入的 cls是子类对象而非父类对象。
静态方法: 与类对象无关的方法,称为静态方法。用@staticmethod来定义。
静态方法和类方法访问实例对象会导致错误。
__del__又称为析构方法,用于实现对象被销毁时所需要的操作,可以通过del删除对象,从而盗用__del__方法;python自动实现垃圾回收,对象没有被引用时,由垃圾回收器调用del方法;python会自动提供__del__方法,一般不需要自定义析构方法。
__call__方法的对象,称为“可调用对象”,即该对象可以像函数一样被调用。