对象名称重载__str__ 和_repr_
概述
在python中编写类时,经常会看到双下划线的方法,如__init__ ,__str__等。这类方法称为魔法方法,这类方法一般会自动调用,不需要class.method()的形式进行手动调用。这里简介两个用来描述对象信息/名称的魔法方法,__str__和__repr__;当我们想自定义某个对象/实例显示(打印)的名称时,就可以用这两个方法来定制,使得代码在交互或者输出时更具有可读性
- __str__ 的目标是可读性,在print(对象)的时候,会自动调用该魔法方法进行输出显示;
- __repr__的目标是准确性,在交互式编程中,对象的输出会自动调用该方法来进行输出显示;
例子
class func(object):
def __init__(self,a):
self.a=a
>>>m=func(1)
>>>m