1
resposta

[Dúvida] Diferença entre importar direto e utilizar o def()

Bom dia!

Não seria mais simples se fosse definido dentro dos if's o import forca/adivinhacao ao invés de utilizar o def()? Sou novo na área e achei confuso, apesar de entender o def().

1 resposta

Bom dia! Caro Lucas, se entendi a sua pergunta você diria para fazer algo assim, certo?

def escolhe_jogo():
    print("*********************************")
    print("*******Escolha o seu jogo!*******")
    print("*********************************")

    print("(1) Forca (2) Adivinhação")

    jogo = int(input("Qual jogo? "))

    if (jogo == 1):
        import forca
        print("Jogando forca")
        forca.jogar()
    elif (jogo == 2):
        import advinhacao
        print("Jogando adivinhação")
        advinhacao.jogar()

Então, no python nós temos um Guia que nos mostra como as coisas devem ser feitas, ele é chamado de PEP 8.

No PEP 8 tem uma área que fala exatamente sobre isto, a importação de outras bibliotecas e arquivos. (https://peps.python.org/pep-0008/#imports)

Nela temos a convenção de que SEMPRE importamos os arquivos e bibliotecas no inicio do projeto, para manter uma certa organização.

Claro se você fizer do jeito acima, o código funcionará sem problemas, mas a maneira correta para se fazer é sempre importando o arquivo no começo.

Em projetos pequenos como esse é fácil saber onde está cada coisa e o que é cada coisa, porém com projetos maiores isso vai se tornando cada vez mais confuso, portanto seguimos essa conduta de importação.

Espero ter conseguido ajudar e bons estudos!