class PlainPart:
def __init__(self, name, mass):
self.name = name
self.mass = mass
class LabeledPart:
def __init__(self, name, mass):
self.name = name
self.mass = mass
def __repr__(self):
return f"LabeledPart(name={self.name!r}, mass={self.mass})"
print(PlainPart("proptank", 1200.0)) # the default, without __repr__
labeled = LabeledPart("proptank", 1200.0)
print(labeled)
print([labeled, labeled]) # __repr__ is used inside lists too
<__main__.PlainPart object at 0x7f433fe95fa0>
LabeledPart(name='proptank', mass=1200.0)
[LabeledPart(name='proptank', mass=1200.0), LabeledPart(name='proptank', mass=1200.0)]