Em uma carreira de desenvolvimento de software, a prática consistente desempenha um papel fundamental na construção de bases sólidas. Pensando nisso, criamos uma lista de atividades (não obrigatórias) focada em prática para melhorar ainda mais sua experiência de aprendizagem.
Bora praticar então?
Desafios
Crie uma classe chamada
ContaBancariacom um construtor que aceita os parâmetrostitularesaldo. Inicie o atributoativocomoFalsepor padrão.Na classe
ContaBancaria, adicione um método especial__str__que retorna uma mensagem formatada com o titular e o saldo da conta. Crie duas instâncias da classe e imprima essas instâncias.Adicione um método de classe chamado
ativar_contaà classeContaBancariaque define o atributoativocomoTrue. Crie uma instância da classe, chame o método de classe e imprima o valor deativo.Refatore a classe
ContaBancariapara utilizar a abordagem "pythonica" na criação de atributos. Utilize propriedades, se necessário.Crie uma instância da classe e imprima o valor da propriedade
titular.Crie uma classe chamada
ClienteBancocom um construtor que aceita 5 atributos. Instancie 3 objetos desta classe e atribua valores aos seus atributos através do método construtor.Crie um método de classe para a conta
ClienteBanco.
#1) ************
class ContaBancaria:
def __init__(self, titular, saldo = 0):
self.titular = titular
self.saldo = saldo
self._ativo = False
#2) ************
def __str__(self):
return f"Titular: {self.titular}\nSaldo: {self.saldo}"
def ativar_conta(self):
self._ativo = True
conta1 = ContaBancaria("João", 1000)
conta2 = ContaBancaria("Carlos", 2000)
print(f'{conta1}\nConta ativa: {conta1._ativo}')
print()
print(f'{conta2}\nConta ativa: {conta2._ativo}')
print('-----------')
#3) *************
print(f'Conta do(a) cliente \"{conta1.titular}\" está ativa? {conta1._ativo}')
conta1.ativar_conta()
print(f'Conta do(a) cliente ativada: \"{conta1._ativo}\"')
print('-----------')
print(f'Conta do(a) cliente \"{conta2.titular}\" está ativa? {conta2._ativo}')
conta2.ativar_conta()
print(f'Conta do(a) cliente ativada: \"{conta2._ativo}\"')
print('-----------')
Saida:
Titular: João
Saldo: 1000
Conta ativa: False
Titular: Carlos
Saldo: 2000
Conta ativa: False
-----------
Conta do(a) cliente "João" está ativa? False
Conta do(a) cliente ativada: "True"
-----------
Conta do(a) cliente "Carlos" está ativa? False
Conta do(a) cliente ativada: "True"
-----------
#4) ***************
class ContaBancariaPythonica:
def __init__(self, titular, saldo = 0):
self._titular = titular
self._saldo = saldo
self._ativo = False
@property
def titular(self):
return self._titular
@property
def saldo(self):
return self._saldo
@property
def ativo(self):
return self._ativo
def ativar_conta(self):
self._ativo = True
#5) ***************
conta_pythonica = ContaBancariaPythonica("Mariana", 5000)
print(f"Titular da conta: {conta_pythonica.titular}")
print(f"Saldo da conta: {conta_pythonica.saldo}")
print(f"Conta ativa (antes de ativar): {conta_pythonica.ativo}")
conta_pythonica.ativar_conta()
print(f"Conta ativa (depois de ativar): {conta_pythonica.ativo}")
Saida:
Titular da conta: Mariana
Saldo da conta: 5000
Conta ativa (antes de ativar): False
Conta ativa (depois de ativar): True
#6) ***************
class ClienteBanco:
def __init__(self, nome, idade, endereco, telefone, email):
self.nome = nome
self.idade = idade
self.endereco = endereco
self.telefone = telefone
self.email = email
cliente1 = ClienteBanco("Harry Potter", 17, "Rua dos Alfeneiros, 4, Little Whinging", "+44 20 7946 0958", "harry.potter@hogwarts.ac.uk")
cliente2 = ClienteBanco("Leia Organa", 30, "Palácio de Alderaan, Alderaan", "+1 555 123 4567", "leia.organa@rebelalliance.org")
cliente3 = ClienteBanco("Tony Stark", 50, "10880 Malibu Point, Malibu, CA", "+1 310 555 1111", "tony.stark@starkindustries.com")
#7) ***************
class ClienteBancoAlura:
@classmethod
def criar_conta(cls, titular, saldo_inicial):
conta = ContaBancariaPythonica(titular, saldo_inicial)
return conta
conta_cliente1 = ClienteBancoAlura.criar_conta("Arnoldo", 1500)
print(f'Conta aberta pelo titular {conta_cliente1.titular}, com saldo inicial de R$ {conta_cliente1.saldo} ')
Saida:
Conta aberta pelo titular Arnoldo, com saldo inicial de R$ 1500