Módulo 5 - Módulos e a biblioteca padrão
O que é um módulo e como o import funciona
10 min de leitura · por Cesar Gargiulo, revisado pela equipe ValorFinal e GuardiaSec · Atualizado em 01/07/2026
O que você vai aprender
- Entender que um módulo é um arquivo Python reaproveitável.
- Dominar as três formas de importar: import, import x as y e from x import y.
- Saber quando dar um apelido a um módulo com as.
- Ter uma noção de onde o Python procura os módulos que você importa.
Ouvir o resumo desta aula
Um recap de cerca de 2 minutos na voz do Valim, para ouvir no trânsito ou na academia.
Ler a transcrição do resumo
Resumo da aula: O que é um módulo e como o import funciona.
Os objetivos desta aula. Entender que um módulo é um arquivo Python reaproveitável. Dominar as três formas de importar: import, import x as y e from x import y. Saber quando dar um apelido a um módulo com as. Ter uma noção de onde o Python procura os módulos que você importa.
Veja o essencial, parte por parte.
Módulo é um arquivo, import é o convite. Um módulo é um arquivo .py com funções e valores prontos para reaproveitar.
As três formas de importar. O asterisco traz todos os nomes do módulo de uma vez, sem prefixo.
Onde o Python procura um módulo. Quando você escreve import math, como o Python sabe onde está esse arquivo?
Esse foi o resumo do essencial. Para se aprofundar, leia a aula completa e responda os exercícios.
Módulo é um arquivo, import é o convite
Você já usou import nas aulas anteriores sem parar para pensar no que ele faz. Chegou a hora. Um módulo é apenas um arquivo Python cheio de código pronto: funções, valores e classes que alguém escreveu, testou e deixou disponível para você reaproveitar. Quando você escreve import math, o Python encontra o arquivo do módulo math, executa o que estiver lá dentro uma única vez e coloca o nome math ao seu alcance. A partir daí, tudo que estiver naquele arquivo fica acessível pelo prefixo math, um ponto, e o nome do que você quer.
import math
print(math.sqrt(81)) # 9.0
print(math.pi) # 3.141592653589793
print(math.factorial(5)) # 120import math traz o módulo inteiro; cada função vem com o prefixo math.
Repare no prefixo math. antes de cada nome. Ele não é burocracia: é o que a comunidade chama de namespace, o espaço de nomes de onde a função vem. Ao escrever math.sqrt, fica claro para qualquer leitor que sqrt pertence ao módulo math, e não a alguma função sua com o mesmo nome. Isso evita conflitos e deixa o código mais fácil de entender. Por isso, o import simples com prefixo é a forma mais recomendada para começar.
As três formas de importar
Existem três jeitos principais de trazer código de um módulo, e cada um tem sua hora. O primeiro é o import simples, que você já viu. O segundo é o import com apelido, usando a palavra as, útil quando o nome do módulo é longo ou quando a comunidade adotou um apelido padrão. O terceiro é o from import, que traz apenas nomes específicos de dentro do módulo, para usar sem o prefixo. Compare os três lado a lado no exemplo abaixo.
# Forma 1: import simples (usa prefixo)
import math
print(math.sqrt(16)) # 4.0
# Forma 2: import com apelido (as)
import statistics as stats
print(stats.mean([2, 4, 6])) # 4.0
# Forma 3: from import (sem prefixo)
from math import sqrt, pi
print(sqrt(25)) # 5.0
print(pi) # 3.141592653589793As três formas de importar, cada uma com seu resultado.
import math
- Traz o módulo inteiro de uma vez
- Usa com prefixo: math.sqrt(16)
- Fica óbvio de onde cada nome vem
- Escolha segura para a maioria dos casos
from math import sqrt
- Traz apenas os nomes que você pediu
- Usa direto: sqrt(16), sem prefixo
- Mais curto, mas esconde a origem
- Bom para poucos nomes muito usados
Onde o Python procura um módulo
Quando você escreve import math, como o Python sabe onde está esse arquivo? Ele segue uma ordem de busca. Primeiro procura entre os módulos embutidos, que já vêm compilados no próprio Python. Depois procura na mesma pasta do arquivo que você está rodando, o que é importante quando você cria os seus próprios módulos, tema da próxima aula. Por fim, procura nas pastas onde os pacotes ficam instalados. Essa lista de lugares vive em sys.path, e você pode até imprimi-la.
import sys
# sys.path e a lista de pastas onde o Python procura modulos
for caminho in sys.path[:3]:
print(caminho)
# A primeira costuma ser a pasta do proprio programa (string vazia ou "."),
# o que permite importar arquivos .py que estao ao lado do seu.sys.path guarda a lista ordenada de pastas onde o Python procura os módulos.
Você raramente vai mexer no sys.path na mão, e nem precisa. O que importa guardar é a ideia: o Python procura os módulos em uma ordem previsível, começando pelos embutidos e pela pasta do seu programa. É por isso que, se você criar um arquivo chamado calculos.py na mesma pasta e escrever import calculos, o Python encontra. E é também por isso que dar a um arquivo seu o mesmo nome de um módulo da biblioteca padrão, como math.py, é uma cilada: o seu arquivo pode acabar sendo importado no lugar do original.
Teste rápido
Qual a diferença entre import math e from math import sqrt?
Perguntas frequentes
- Preciso instalar alguma coisa para usar import math?
- Não. O math faz parte da biblioteca padrão, que já vem junto com o Python. O mesmo vale para random, datetime, statistics, collections e dezenas de outros módulos. Instalar pacotes só é necessário para bibliotecas externas, tema do próximo módulo do curso.
- Quando devo usar as para dar um apelido a um módulo?
- Use as quando o nome do módulo é longo e você o repete muito, ou quando a comunidade já adotou um apelido padrão. Bibliotecas de dados, por exemplo, costumam ser importadas como np e pd. Para módulos de nome curto como math, o apelido não ajuda muito.
- Por que não usar from módulo import * para trazer tudo?
- Porque isso despeja todos os nomes do módulo no seu código, sem prefixo, e você deixa de saber de onde cada nome veio. Pior: um deles pode sobrescrever uma função sua sem aviso. A PEP 8 desaconselha o asterisco justamente por isso. Prefira importar o que precisa, nomeado.
- O que acontece se eu importar o mesmo módulo duas vezes?
- Nada de ruim. O Python executa o código do módulo uma única vez e guarda o resultado em cache. Um segundo import apenas aponta para o que já foi carregado, então não há custo nem execução repetida. Pode importar com tranquilidade onde precisar.
- Dá para importar no meio do arquivo, dentro de uma função?
- Dá, e às vezes é útil, mas o padrão recomendado pela PEP 8 é colocar todos os imports no topo do arquivo, logo abaixo dos comentários iniciais. Isso deixa claro, num relance, de quais módulos o seu código depende.
- O que é a biblioteca padrão, afinal?
- É o conjunto de módulos que já vem com o Python, sem instalar nada, cobrindo matemática, números aleatórios, datas, arquivos, coleções especiais e muito mais. É enorme e muito bem testada. Boa parte de ser um bom programador é conhecer o que já existe pronto ali.
Fontes
Seu progresso fica salvo neste aparelho. Assinantes sincronizam entre os aparelhos.