魔法
只有魔法才能打败魔法啊。Python 这么强大,必须有点魔法来控制一下。
在编写自己的类的方法的时候,有些属性或方法的名字是不能随便用的,因为 Python 已经预定义了一些有特殊含义的名字,它们被称为魔法方法(Magic Methods)和魔法属性。在 Python 中,魔法方法和属性也被称为特殊方法和属性或者双下划线方法和属性。它们以双下划线为前后缀,例如,之前介绍过的 __init__
、 __new__
、 __call__
方法,__name__
、 __doc__
属性等。
魔法方法和属性使得我们可以自定义对象的内部行为,这样就可以实现运算符重载(比如重新定义加减乘除的行为)、属性访问等高级功能。