Task 03 - 从函数到高级魔法方法 - 魔法方法

欢迎来到缪斯的博客

Task 03 - 从函数到高级魔法方法 - 魔法方法

基本的魔法方法

__ 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)

未完待续······

相关文章:

  • 2021-12-17
  • 2022-02-11
  • 2021-04-27
  • 2021-07-14
  • 2021-09-26
  • 2021-08-18
猜你喜欢
  • 2021-06-11
  • 2021-07-13
  • 2021-07-26
  • 2021-05-18
相关资源
相似解决方案