1
resposta

[Resolução]

Envio minha resolução e gostaria de aproveitar para tirar uma duvida:

Eu criei uma pasta 'exercicios' e uma sub-pasta 'ex_maonamassa' para ambos os arquivos.

Na hora de importar, eu tentei da seguinte maneira:

from exercicios.ex_maonamassa.banco import Banco

E apresentava o erro:

Traceback (most recent call last): File "c:\Users\Caio\OneDrive\Desktop\Python\Parte 3\oo-sabor-express\exercicios\ex_maonamassa\agencia.py", line 1, in from ex_maonamassa.banco import Banco ModuleNotFoundError: No module named 'ex_maonamassa'

Hierarquicamente falando, exercicios tá na mesma hierarquia que a pasta modulos, não entendi o pq. Mas ao remover o caminho funcionou:

from banco import Banco

RESOLUÇÃO

banco.py

class Banco:
    def __init__(self, nome, endereco):
        self._nome = nome
        self._endereco = endereco

agencia.py

from banco import Banco

class Agencia(Banco):
    def __init__(self, nome, endereco, numero):
        super().__init__(nome, endereco)
        self._numero = numero

    def __str__(self):
        return f'Nome: {self._nome}, End {self._endereco}, Num {self._numero}'


ag = Agencia('Santander', 'Av 9 de abril', 3112)
print(ag)
1 resposta

Oi, Caio! Tudo bem?

Parabéns por ter encontrado uma solução para o problema encontrado e por ter elaborado o código! O problema pode ter ocorrido pois quando usamos:

from exercicios.ex_maonamassa.banco import Banco

Estamos indicando que desejamos importar o módulo banco que está dentro da subpasta ex_maonamassa, que por sua vez está dentro da pasta exercicios, que para funcionar precisa atender a algumas condições:

  1. Arquivos __init__.py: As pastas exercicios e ex_maonamassa devem conter um arquivo __init__.py (pode estar vazio), que indica ao Python que essas pastas devem ser tratadas como pacotes. Então, devemos criar esses arquivos se ainda não existirem:

    exercicios/
    ├── __init__.py
    └── ex_maonamassa/
        ├── __init__.py
        ├── banco.py
        └── agencia.py
    
  2. Caminho de execução: Devemos também nos certificar de que o script agencia.py está sendo executado a partir do diretório correto. Se estivermos executando o script a partir do diretório ex_maonamassa, o Python pode não encontrar o caminho completo exercicios.ex_maonamassa.banco.

Espero ter ajudado! Caso tenha restado alguma dúvida em relação a qualquer conteúdo do curso ou atividade, não hesite em perguntar, estou disponível e ficarei super feliz em poder ajudar!

Um forte abraço e bons estudos!