Python 的对象天生拥有一些神奇的方法,它们总被双下划线所包围,它们是面向对象的 Python 的一切。它们是可以给你的类增加魔力的特殊方法,如果你的对象实现(重载)了某一个魔法方法,那么这个方法就会在特殊的情况下自动被 Python 所调用。
功能
定义乘法的行为。
参数
self 表示乘号左边的对象,other 表示乘号右边的对象。
返回值
一般返回一个对象或一个值。
示例
class MulTest(object):
def __init__(self, age):
self.age = age
def __mul__(self, other):
print('call mul magic function')
return MulTest(self.age * other.age)
num_1 = MulTest(12)
num_2 = MulTest(16)
print(f'mul result is:{(num_1 * num_2).age}')
执行示例代码,得到输出结果如下:
call mul magic function
mul result is:192