If someone writes a class in python, and fails to specify their own __repr__()
method, then a default one is provided for them. However, suppose we want to write a function which has the same, or similar, behavior to the default __repr__()
. However, we want this function to have the behavior of the default __repr__()
method even if the actual __repr__()
for the class was overloaded. That is, suppose we want to write a function which has the same behavior as a default __repr__()
regardless of whether someone overloaded the __repr__()
method or not. How might we do it?
class DemoClass:
def __init__(self):
self.var = 4
def __repr__(self):
return str(self.var)
def true_repr(x):
# [magic happens here]
s = "I'm not implemented yet"
return s
obj = DemoClass()
print(obj.__repr__())
print(true_repr(obj))
Desired Output:
print(obj.__repr__())
prints 4
, but print(true_repr(obj))
prints something like:
<__main__.DemoClass object at 0x0000000009F26588>
__qualname__
, is it a recent addition? – Swound