'''
Esta é a documentação da classe ContaBancaria.
A classe ContaBancaria representa uma conta bancária com um titular e um saldo.
'''
class ContaBancaria:
def __init__(self, titular='', saldo=0):
self._titular = titular
self._saldo = saldo
self._ativo = False
def __str__(self):
return f'Conta de {self._titular} - Saldo: R${self._saldo:.2f}'
@classmethod
def ativar_conta(cls):
cls._ativo = True
@property
def titular(self):
return self._titular
@titular.setter
def titular(self, novo_titular):
self._titular = novo_titular
class ClienteBanco:
def __init__(self, nome='', idade=0, endereco='', telefone='', cpf=''):
self.nome = nome
self.idade = idade
self.endereco = endereco
self.telefone = telefone
self.cpf = cpf
@classmethod
def criar_conta(cls):
return ContaBancaria()
# 2. Crie duas instâncias da classe e imprima essas instâncias.
conta1 = ContaBancaria('João', 1000)
conta2 = ContaBancaria('Maria', 2000)
print(conta1)
print(conta2)
# 3. Chame o método de classe e imprima o valor de ativo.
ContaBancaria.ativar_conta()
print(ContaBancaria._ativo) # Saída: True
# 5. Crie uma instância da classe e imprima o valor da propriedade titular.
cliente1 = ClienteBanco(nome='Fernando')
conta_cliente1 = cliente1.criar_conta()
print(conta_cliente1.titular) # Saída: Fernando
# 6. Instancie 3 objetos da classe ClienteBanco e atribua valores aos seus atributos através do método construtor.
cliente2 = ClienteBanco('Ana', 25, 'Rua A', '123456789', '987654321')
cliente3 = ClienteBanco('Pedro', 35, 'Rua B', '987654321', '123456789')
cliente4 = ClienteBanco('Mariana', 30, 'Rua C', '999888777', '456789123')
Observações: Estranho seguir o padrão de aspas simples (') no código deste curso, pois é o padrão da comunidade Python e, no exemplo: Opinião do instrutor , utilizar aspas duplas (") como solução para esta atividade :)