Primeiro, obrigado pela generosidade com os TabCoins! Por fim, obrigado pelo seu exemplo, realmente é uma forma mais baixo nível de ver uma classe, eu reescrevi em python como seria um código similar:
def inicializador(self, value):
self.value = value
def real_to_str(self):
return 'R$ {:0.2f}'.format(self.value)
def soma(self, money):
return Real(self.value + money.value)
propriedades_e_metodos = {
'__init__': inicializador,
'__str__': real_to_str,
'__add__': soma,
}
Real = type('Real', (object, ), propriedades_e_metodos)
real10 = Real(10)
real20 = Real(20)
print(real10 + real20) # Imprime: R$ 30.00