Olá, Gustavo! Como vai?
Parabéns pela resolução da atividade!
Observei que você explorou o uso de classes para estruturar dados, utilizou muito bem o método especial __str__ para personalizar a saída e ainda compreendeu a importância das propriedades para controlar o acesso aos atributos.
Uma dica interessante para o futuro é criar um método para ativar ou desativar a conta, em vez de manipular diretamente o atributo _ativo. Assim:
class ContaBancaria:
def __init__(self, titular, saldo=0):
self._ativo = False
self._titular = titular
self._saldo = saldo
def __str__(self):
return f'Titular: {self._titular.ljust(10)} | Saldo: {self._saldo} | Status: {self.ativar_conta}'
@property
def titular(self):
return self._titular
@property
def saldo(self):
return self._saldo
@property
def ativar_conta(self):
return "Ativo" if self._ativo else "Inativo"
def ativar(self):
self._ativo = True
def desativar(self):
self._ativo = False
p1 = ContaBancaria('Gustavo', 1500)
p2 = ContaBancaria('Ana', 2500)
p1.ativar() # Ativando a conta de Gustavo
print(p1)
print(p2)
Isso faz com que o código siga boas práticas de encapsulamento, evitando alterar atributos diretamente e mantendo maior controle sobre o estado da conta.
Fico à disposição! E se precisar, conte sempre com o apoio do fórum.
Abraço e bons estudos!
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!