Возможно ли это сделать в Python:
class Foo():
def __init__(self):
self.bar = MyClass()
foo = Foo()
assert foo.bar == 0
assert type(foo.bar) == MyClass
Если 0 был строкой, тогда __repr__ можно было бы использовать в MyClass. Значение будет равно 0, но тип будет MyClass. Но поскольку __repr__ может возвращать только строку, а foo.bar должен быть int, __repr__ не работает. Так возможно ли, чтобы MyClass () давал значение 0 (int), но при этом сохранял свой тип как MyClass?