Можно адаптировать как вам угодно
class BaseField:
def __init__(self, value):
self.value = value
def __eq__(self, other):
if isinstance(other, BaseField):
return self.value == other.value
return self.value == other
def __repr__(self):
return str(self.value)
class BoolField(BaseField):
def __str__(self):
return {
True: 'Есть',
False: 'Нет'
}.get(self.value)
class MoneyField(BaseField):
def __str__(self):
return f'{self.value}$'
class Person:
def __init__(self, name):
self.name = name
self.something_1 = BoolField(False)
self.something_2 = BoolField(True)
self.money = MoneyField(1500)
p = Person('Vladimir')
print(p.something_1)
print(p.money)