欢迎来到缪斯的博客
基本的魔法方法
__ init __(self[, …])
构造器, 当一个实例被创建的时候调用的初始化方法
__ new __(cls[, …])
在一个对象实例化的时候所调用的第一个方法
在调用__init__初始化前,先调用__new__
__ new __ 至少要有一个参数cls,代表要实例化的类,此参数在实例化时由 Python 解释器自动提供,后面的参数直接传递给__init__。
__ new __ 对当前类进行了实例化,并将实例返回,传给__init__的self。
但是,执行了__new__,并不一定会进入__init__,只有__new__返回了,当前类cls的实例,当前类的__init__才会进入。
若__new__没有正确返回当前类cls的实例,那__init__是不会被调用的,即使是父类的实例也不行,将没有__init__被调用。
算术运算符
类型工厂函数,指的是“不通过类而是通过函数来创建对象”。
__ add __ (self, other)定义加法的行为:+
__ sub __ (self, other)定义减法的行为:–
__ mul __ (self, other)定义乘法的行为:*
__ truediv __ (self, other)定义真除法的行为:/
__ floordiv __ (self, other)定义整数除法的行为://
__ mod __ (self, other) 定义取模算法的行为:%
__ divmod __ (self, other)定义当被 divmod() 调用时的行为
divmod(a, b)把除数和余数运算结果结合起来,
返回一个包含商和余数的元组 (a // b, a % b)
未完待续······