如果将一个对象创建完成后,放到一个列表中,然后再打印这个列表,那么会打印这个列表中所有的对象,这时候会调用__repr__魔术方法,示例代码如下:
若不使用魔术方法将会出现以下的形式:
class Person(object):
def __init__(self,name):
self.name = name
p1=Person('lb')
p2=Person('fjq')
a=[p1,p2]
print(a)
输出结果为:
使用__repr__魔术方法之后的结果为:
class Person(object):
def __init__(self,name):
self.name = name
def __repr__(self):
return "Person<%s>"%self.name
p1=Person('lb')
p2=Person('fjq')
a=[p1,p2]
print(a)