Módulos e import
import, from, pacotes e __name__
Em Python, qualquer arquivo .py é um módulo. Você pode importar módulos com import nome ou importar itens específicos com from módulo import função. O alias "as" cria um atalho para o nome.
__name__ é uma variável especial: quando o arquivo é executado diretamente, __name__ é "__main__"; quando importado, é o nome do módulo. A verificação if __name__ == "__main__" permite ter código que só executa ao rodar o arquivo diretamente.
Pacotes são diretórios com um arquivo __init__.py que organizam módulos relacionados. O pip é o gerenciador de pacotes padrão, e as dependências ficam tipicamente no arquivo requirements.txt ou pyproject.toml.
# Importações
import math
print(math.sqrt(16)) # 4.0
print(math.pi) # 3.14159...
# Importar itens específicos
from math import sqrt, pi, floor
print(sqrt(25)) # 5.0
# Alias para nomes longos
import numpy as np
import pandas as pd
# Importar tudo (evitar em produção)
from math import *
# __name__ == "__main__"
# arquivo: utils.py
def calcular(x):
return x * 2
if __name__ == "__main__":
# só executa ao rodar: python utils.py
print(calcular(21)) # 42
# Pacote — estrutura de diretórios:
# meu_pacote/
# __init__.py
# modulo_a.py
# modulo_b.py
from meu_pacote import modulo_a
from meu_pacote.modulo_b import MinhaClasse
# Módulos padrão úteis
import os, sys, json, datetime, collections, itertoolsOrganize imports em ordem: stdlib → terceiros → locais, com linha em branco entre grupos. Ferramentas como isort automatizam isso.