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

[Dúvida] Olá, estou com um problema na hora de importar uma função no console do pycharm, sempre que eu tento ele da erro e mostra a seguinte mensagem: No module named 'teste'

def cria_conta(numero, titular, saldo, limite):
    conta = {"numero": numero, "titular": titular, "saldo": saldo, "limite": limite}
    return conta

def deposita(conta, valor):
    conta["saldo"] += valor

def saque(conta, valor):
    conta["saldo"] -= valor

def extrato(conta):
    print(" O saldo da conta é: {}".format(conta["saldo"]))

erro ao chamar a função

6 respostas

Grande Pablo. Tudo certo?

Esse problema está sendo causado porque a aplicação está procurando por um módulo (arquivo) cujo nome é teste e não está sendo encontrando. E pelo fato de ser um módulo, ou seja, é uma parte do programa que está em um arquivo separado, ele precisa ser importado pelo arquivo onde está o script principal da aplicação para poder funcionar. Por exemplo:

Arquivo contendo o código principal da aplicação:

# Principal.py

from Outro import OutraClasse 

Class Principal( ):
    def __init__( ):
        variavel = OutraClasse( )
        variavel.outraFuncao( )

Arquivo (módulo) contendo parte do código da aplicação:

# Outro.py

Class OutraClasse( ):
    def __init__( ):
        pass
        
    def outraFuncao( ):
        pass

Espero que ajude a entender e compreender.

Olá Adriano, tudo bem com você? Espero que sim. Criei outro código, reformulei o antigo mas ainda assim o erro persiste. Segue o código:

 class Conta:
    def __init__(self,numero, titular, saldo, limite):
        print("Construindo objeto... {}".format(self))
        self.numero = numero
        self.titular = titular
        self.saldo = saldo
        self.limite = limite

    def  extrato(self):
        print("Saldo de {} do titular {} ".format(self.saldo, self.titular))

    def deposito(self, valor):
        self.saldo += valor

    def saque(self, valor):
        self.saldo -= valor

também tentei importar o arquivo pelo prompt de comando mas novamente sem sucesso

Grande Pablo. Tudo tranquilo?

Se o código que você postou aqui, é o código principal do programa, nele deve conter, logo no início do arquivo, o import do módulo que contém a outra parte do programa. Seria algo tipo:

# Outra_parte_do_programa.py

class UmaClasseQualquer( ):
    def __init__( ):
        "qualquer comando"
        
    def umaFuncaoQualquer( ):
        "ouro comando qualquer"
import Outra_parte_do_programa

class Conta:
    def __init__(self,numero, titular, saldo, limite):
        self.classe_qualquer = UmaClasseQualquer( )
        print("Construindo objeto... {}".format(self))
        self.numero = numero
        self.titular = titular
        self.saldo = saldo
        self.limite = limite

    def  extrato(self):
        print("Saldo de {} do titular {} ".format(self.saldo, self.titular))

    def deposito(self, valor):
        self.saldo += valor

    def saque(self, valor):
        self.saldo -= valor
        
    def funcaoExtra( ):
        self.classe_qualquer.umaFuncaoQualquer( )

Como você pode ver no exemplo acima, o import foi feito no início da escrita do código que está no arquivo (módulo) principal do programa. Esse import refere-se ao código principal do programa usar tudo o que estiver disponível no outro arquivo (módulo) chamado Outra_parte_do_programa.py dentro do código que está no módulo principal do programa. Tanto que no método construtor da classe é instanciada a classe que está no Outra_parte_do_programa.py e atribuindo essa instância de classe a variável self.classe_qualquer, ficando da seguinte forma: self.classe_qualquer = UmaClasseQualquer( ).

Foi criada apenas como forma de exemplo uma função chamada def funcaoExtra( ) para mostrar como poderia ser usada a intância da classe dentro do código principal do programa e a instância da classe acessaria o método que está no outro módulo da seguinte forma: self.classe_qualquer.umaFuncaoQualquer( ). Essa é apenas uma das formas de fazer uma importação de um módulo em Python.

Quanto ao que você comentou sobre fazer uma importação de módulo pelo prompt de comando para executar um programa que está em mais de um arquivo (módulo), isso eu desconheço. Poderia me mostrar, mais ou menos, como você fez isso?

Bom, mas espero que tenha lhe ajudado a entender e compreender a questão.

Olá Adriano, tranquilo? Obrigado pela ajuda, e pela paciência que você teve para me ajudar. Referente a importação de um módulo utilizando o prompt eu vi em uma pesquisa que eu fiz pelo google, tentando achar uma maneira de solucionar o meu problema, nessa pesquisa, eu encontrei uma pergunta no fórum da Alura onde falavam que se eu chamasse a interface do Python no prompt e importasse o arquivo no mesmo iria rodar o comando.

Insira aqui a descrição dessa imagem para ajudar na acessibilidadedesse jeito que seria o comando de importação mas ainda assim acabou dando erro

Grande Pablo. Tudo certo?

Gostei disso. Dessa eu não sabia.

"Em todos esses anos nessa Indústria Vital essa é a primeira vez que vejo isso...". Rsrsrsrsrs

Em relação ao import em Python, conseguiu evoluir alguma coisa no programa?

solução!

Olá Adriano, é como dizem, vivendo e aprendendo kkkkkk Em relação ao import no Pyhton, o comando ainda não estava sendo executado no Pyhton console por motivos de erro, então eu acabei achando uma solução que foi rodar o código escrito no pycharm no IDLE:

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeO IDLE executa o comando normalmente mas o Python console não, por conta disso conseui fazer os testes junto com a explicação do instrutor o que tornou o aprendizado muito mais coeso.