Quando faço a definição do programa de adivinhação como função com o comando DEF, por que não incluo a linha "import random"?
Quando faço a definição do programa de adivinhação como função com o comando DEF, por que não incluo a linha "import random"?
Olá Alessandro, tudo bem com você?
A importação da biblioteca random
é deixada de fora da função jogar()
por uma questão de boas práticas de programação. Quando estamos importando bibliotecas no Python existe uma recomendação pela PEP 8 (Guia de Estilo de Código - Python Enhancement Proposals) de que os import
devem ficar no topo do nosso arquivo e fora de uma função. Exemplo:
import random
# Código do arquivo
A PEP08 foi criada para que exista uma padronização dos códigos em Python, ela aborda todos os padrões esperados em um projeto Python, com o objetivo de facilitar a leitura e entendimento por parte da pessoa programadora.
Assim, uma das desvantagens do uso da importação de módulos dentro da estrutura do código, será a quebra da padronização, além da dificuldade para conhecer todos os módulos e bibliotecas utilizadas no arquivo, fato que não ocorre quando a importação é explícita no início do código.
Caso queira aprimorar ainda mais o seu aprendizado sobre a PEP 8, a Alura possui um curso dedicado a esse tema:
Espero ter lhe ajudado. Em caso de dúvidas estou à disposição.
Não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.
Abraços e bons estudos!