Skip to content

“Import X” VS “From Y Import Z”

    import

    E Por Que Eu Prefiro Um Sobre o Outro

    Se você tem experiência em Python, deve ter usado a instrução ‘import’ muitas vezes. Por exemplo, para usar a função ‘randrange’ do módulo ‘random’ incorporado.

    Existem dois tipos de declarações ‘import’.

    Forma 1: Importar o Módulo Completo

    import random
    num = random.randrange(1, 11)

    Nesta abordagem, importamos o módulo completo e, em seguida, chamamos a função randrange usando o namespace random. É uma maneira direta de usar as funções do módulo e é a minha preferida.

    Forma 2: Importar Função Específica

    from random import randrange
    num = randrange(1, 11)

    Nesse método, importamos apenas a função ‘randrange’ do módulo ‘random’, útil quando precisamos de apenas uma função específica.

    Porém, pode ficar complicado quando importamos várias funções de diferentes módulos ou quando há funções com nomes similares em módulos distintos.

    Isso pode causar conflitos, especialmente em grandes códigos empresariais.

    Forma 3: Importar Tudo de um Módulo

    from random import *
    num = randrange(1, 11)

    Essa abordagem é a que menos prefiro. Quando importamos tudo de vários módulos como A, B e C, pode causar confusão, especialmente se tiverem funções com nomes parecidos, que podem se sobrescrever sem percebermos. Evito essa sintaxe sempre que posso.

    Conclusão

    A escolha entre as abordagens de importação depende das necessidades do projeto. Importar o módulo completo é minha preferência por clareza e menos conflitos de nomes.

    Porém, importar funções específicas pode ser útil para economizar espaço ou com módulos extensos. Mantenha a organização ao escrever código Python, independentemente da abordagem de importação.

    Outras Referências

    Documentação oficial de módulos: https://docs.python.org/3/tutorial/modules.html

    Como Criar uma Biblioteca em Python: https://acadianschool.com.br/como-criar-uma-biblioteca-em-python

    Tags:

    Leave a Reply

    Your email address will not be published. Required fields are marked *