eu fiz o exercicio 3 sem usar @classmethod e acho que funcionou da mesma maneira, eu gostaria de entender porque na opiniao do instrutor ele usou:
def ativar_conta(cls, conta):
conta._ativo = True
eu, porem fiz da seguinte maneira meu codigo:
class ContaBancaria:
def __init__(self, titular= '', saldo= 0, ativo = False):
self.titular = titular.title()
self.saldo = float(saldo)
self._ativo = ativo
def __str__(self):
return f'O Sr(a) {self.titular} tem R${self.saldo:.2f} na conta'
def ativar_conta(self):
self._ativo = not self._ativo
@property
def imprimir(self):
return f'Sua conta, {self.titular}, está ativa' if self._ativo else f'Sua conta, {self.titular}, não está ativa'
pessoa1 = ContaBancaria('Rodrigo', 1000)
pessoa2 = ContaBancaria('Paulo', 5000)
pessoa1.ativar_conta()
print(pessoa1.imprimir)
print(pessoa1)
print(pessoa2)