Boa tarde!
Estou utizando o PyCharm para o curso. Nos dois últimos exemplos de comparação (conta_do_guilherme <= conta_do_guilherme e conta_do_guilherme == conta_do_guilherme) estou tendo como retorno 'None'. O que está errado no meu código?
from functools import total_ordering
@total_ordering
class ContaSalario:
def __init__(self, codigo):
self._codigo = codigo
self._saldo = 0
def __eq__(self, outro):
if type(outro) != ContaSalario:
return False
def __lt__(self, outro):
if self._saldo != outro._saldo:
return self._saldo < outro._saldo
return self._codigo < outro._codigo
def deposita(self, valor):
self._saldo += valor
def __str__(self):
return "[>>Codigo {} Saldo {}<<]".format(self._codigo, self._saldo)
conta_do_guilherme = ContaSalario(17)
conta_do_guilherme.deposita(500)
conta_da_daniela = ContaSalario(3)
conta_da_daniela.deposita(1000)
conta_do_paulo = ContaSalario(133)
conta_do_paulo.deposita(500)
print(conta_do_guilherme <= conta_da_daniela)
print(conta_do_guilherme <= conta_do_paulo)
print(conta_do_guilherme < conta_do_guilherme)
print(conta_do_guilherme <= conta_do_guilherme)
print(conta_do_guilherme == conta_do_guilherme)
As saídas: True True False None None
Obrigado desde já.