魔术方法的含义是什么,为什么我们要使用它?

时间:2019-11-21 08:48:46

标签: python-3.x oop magic-methods

我目前正在学习python,最近遇到了魔术方法一词。我已经知道它们是我们在类中使用的dunder方法,即 __init__或__add__或__repr __。

它们还可以用于运算符重载。喜欢在 __add__。

但是我仍然对它们的真正含义感到困惑?是否所有方法(双下划线)魔术方法? 还是我错过了什么。如果是这样,为什么将它们称为MAGIC METHODS,那么肯定有一些我不太了解的东西。


我现在知道,魔术方法用于向类而不是类的实例添加更多功能。即对象。这是它们真正为操作员重载创建的目的吗?

1 个答案:

答案 0 :(得分:1)

未声明/称为 dun dun 方法。但是 底线 表示双底线(下划线)。

dunder视为双下划线的python习语。

例如:说__init__ /读为 dinit init 。对于其他魔术方法,例如__add__,如 dunder add

魔术方法here有很好的参考,这是一个很好的起点。