在Python中,我们时常会用到对象,而对象又包含许多方法,尤其是一些内置的方法都以"__"双下划线开头和结束,而这些方法在Python中都被统称为Magic Method,即魔术方法。
在魔术方法中比较常见和多用的一个方法就是__init__,它可以根据类的定义以及传入的参数对之后实例化的对象进行初始化。所以使用魔术方法最大的优势可以自定义的使用Python内置方法去达到某些功能。
举几个魔术方法使用例子:
_str_(self)
_str_(self)方法是用于处理打印实例对象本身的输出内容。可以看到,如果我们没有定义该方法直接使用print()方法输出时,输出的是对象的内存地址信息。
class Teacher:
def __init__(self, name):
self.name = name
teacher1 = Teacher('Anders')
print(teacher1)
# 输出如下:
# <__main__.Teacher object at 0x1083cf6a0>
下面的例子中我们定义了_str_ 方法,因为前面提到 __str__方法是处理打印实例本身的输出内容,所以这里直接在__str__方法中输出要想要输出的内容。
class Teacher:
def __init__(self, name):
self.name = name
def __st