We can change behavior of str(object) function by defining __str__ in object class. Is it possible to do so with type function? I'm just curious, none use case.
Try with __class__ doesn't work:
class A:
def __class__(self):
print(1)
return "x"
obj = A()
print(type(obj))
it doesn't print 1 or do anything with x. It just prints <class '__main__.A'> as usual.