In Python, __repr__ is a special method used to represent a class’s objects as a string. __repr__ is called by the repr() built-in function. You can define your own string representation of your class objects using the __repr__ method.
Special methods are a set of predefined methods used to enrich your classes. They start and end with double underscores.
According to the official documentation, __repr__ is used to compute the “official” string representation of an object and is typically used for debugging.
object.__repr__(self)
Returns a string as a representation of the object.
Ideally, the representation should be information-rich and could be used to recreate an object with the same value.
Let’s make a class, Person, and define the __repr__ method. We can then call this method using the built-in Python function repr().
# A simple Person classclass Person:def __init__(self, name, age):self.name = nameself.age = agedef __repr__(self):rep = 'Person(' + self.name + ',' + str(self.age) + ')'return rep# Let's make a Person object and print the results of repr()person = Person("John", 20)print(repr(person))
Line 3: We defined a class with the name of Person.
Line 4: We defined a special method __init__() which is called the constructor. It initializes new instances of the class. This constructor takes three parameters: self, name, and age.
Lines 8-10: We defined another special method __repr__(). This method returns a string representation of the object by concatenating the string 'Person(', the value of self.name, a comma, the value of self.age, and the string ')'.
Free Resources