Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

[Projeto] Resolução do desafio das classes Banco e Agência

class Banco:

    def __init__(self, nome: str, endereco: str):
        self._nome = nome
        self._endereco = nome
    
    def __str__(self) -> str:
        return f'Nome: {self._nome}\nEndereço: {self._endereco}\n'
    
class Agencia(Banco):

    def __init__(self, nome: str, endereco: str, numero: int):
        super().__init__(nome, endereco)
        self._numero = numero

    def __str__(self) -> str:
        return super().__str__() + f'Número: {self._numero}'

bradesco = Agencia("Bradesco", "Rua do teste", 123)
print(bradesco)
4 respostas

Oii Maria, tudo bem?

Parabéns por concluir o desafio e compartilhar seu código! Você fez um ótimo trabalho ao implementar as classes Banco e Agencia, aplicando herança de forma eficaz. O código está bem estruturado e funcional. Continue praticando e explorando novos conceitos em Python. Excelente trabalho!

Um abraço e bons estudos.

solução!

Obrigada!

Pode explicar porque foi usado entre parêntese o seguinte código (self, nome: str, endereço: str) diferente da aula, o que foi posto, geralmente é usado (self, nome, endereço)

Olá, Jeanderson.

Ao utilizar após o nome do atributo o str, significa que eu indico para o usuário qual o tipo de entrada esperada para aquele atributo quando for instanciar algum objeto. No caso, no código que você citou, eu indico que espero String (str).

Por exemplo, ao criar uma classe chamada Carro, eu posso usar para o seu init a seguinte linha de código:

class Carro:

    def __init__(self, marca: str, ano: int):
        self._marca = marca
        self._ano = ano

No momento que eu for instanciar qualquer objeto de carro, a IDE já vai me ajudar a visualizar que eu preciso destes dois atributos para inicializar este objeto e que o tipo esperado deles é String e int, respectivamente.