Eu fiz o código exatamente como foi feito em aula, mas não está funcionando exatamente. Quando eu peço para mostrar no mesmo arquivo que eu desenvolvi a classe funciona normalmente, mas quando eu importo não funciona: Poderiam me ajudar?
Eu fiz o código exatamente como foi feito em aula, mas não está funcionando exatamente. Quando eu peço para mostrar no mesmo arquivo que eu desenvolvi a classe funciona normalmente, mas quando eu importo não funciona: Poderiam me ajudar?
experimenta colocar na sua função, na parte onde vem o "print", ao invés de usa o format, usar o sep. Desta maneira:
print(self.dia,self.mes,self.ano, sep='/'), fica mais limpo.
e creio que o problema no seu código esta na importação. Você esta importando a pasta que esta seu arquivo, depois o arquivo inteiro. experimente colocar desta maneira:
from Datas import Datas
o primeiro "Datas" refere-se ao nome do arquivo e o segundo "Datas" a classe. Coloque ambos arquivos na mesma pasta.
Espero ter ajudado
Olá, Leonardo! Tudo bem?
Primeiramente, certifique-se de que a estrutura de diretórios está correta e que as pastas estão no mesmo diretório. De acordo com a descrição que você forneceu, a estrutura de diretórios está assim:
- Alura
- datas
- Datas.py
- Joguinho
- PrincipalDatas.py
Após isso, verifique se o nome do arquivo e a classe estão corretos, garantinho que o arquivo Datas.py
contém a definição da classe Datas
com a letra maiúscula correta, e que não há erros de digitação no nome do arquivo ou da classe. Percebi que você importou o arquivo com datas
escrito com letras minúsculas ao invés da primeira maiúscula.
De acordo com a imagem que você colocou, o arquivo onde você criou a classe não está no mesmo diretório do arquivo em que você está fazendo a importação, portanto, você precisará especificar o caminho completo para o arquivo na importação.
Um ponto que deve ser considerado é que o arquivo em que você está fazendo a importação tem o mesmo nome que a classe que você está importando. Isso pode causar conflitos e impedir o correto funcionamento da importação. Nesse caso, você pode renomear o arquivo para datas
com letras minúsculas ou utilizar a sintaxe "from nome_do_arquivo import nome_da_classe" para evitar conflitos.
Para especificar o diretório no import do Python, você pode usar o conceito de pacotes e módulos. Um pacote é uma pasta que contém arquivos Python (módulos) e um arquivo especial chamado __init__.py
que é gerado automaticamente quando você cria uma nova pasta e a nomeia como um pacote. Esse arquivo é usado para indicar ao Python que a pasta é um pacote e pode conter módulos que podem ser importados.
Os módulos dentro do pacote podem ser importados usando a notação de ponto. Você está utilizando a seguinte estrutura de diretórios (o nome do arquivo já alterado para evitar conflitos):
- Alura
- datas
- __init__.py
- datas.py
- Joguinho
- __init__.py
- PrincipalDatas.py
O arquivo __init__.py
é necessário para que o Python reconheça a pasta como um pacote. Ele pode estar vazio ou conter código de inicialização do pacote (opcional). Agora, para importar a classe Datas
de dentro do arquivo PrincipalDatas.py
, você pode fazer da seguinte forma:
from datas.datas import Datas
Onde:
Alura
é o nome da pasta que contém as pastas datas
e jogos
.datas
é a pasta que contém o arquivo datas.py
.Datas
é o nome da classe dentro do arquivo Datas.py
.Isso permitirá que você importe e utilize a classe Datas
no arquivo PrincipalDatas.py
. Lembre-se de que o nome dos pacotes, pastas e arquivos devem ser escritos corretamente, respeitando letras maiúsculas/minúsculas e nomes válidos para identificadores Python. Além disso, certifique-se de que a estrutura de diretórios esteja correta conforme mostrado acima.
Espero que essas dicas possam te ajudar a resolver o problema com a importação da classe. Se tiver mais alguma dúvida, é só me dizer!
Grande abraço e bons estudos!