Módulos
Os módulos em Python são uma das ferramentas mais importantes para organizar, reutilizar e modularizar o código. Eles permitem que você divida programas grandes em partes menores e mais gerenciáveis.
O que é um módulo
Um módulo é simplesmente um ficheiro de Python com a extensão .py
que contém definições de funções, classes, variáveis ou até mesmo código executável. Ele pode ser importado para outros scripts Python, permitindo a reutilização de código.
Por exemplo, podemos criar o módulo meumodulo. Para isso basta criarmos o ficheiro meumodulo.py:
def saudacao(nome):
return f"Olá, {nome}!"
def bemvindo():
return "Bem vindo ao Python"
Criámos um módulo chamado meumodulo que contém as funções saudacao() e bemvindo().
Importar módulos
Importamos um módulo, ou partes de um módulo, usando a palavra reservada import.
Importar um módulo inteiro
import meumodulo
#usamos a função saudacao() que pertence ao módulo:
print(meumodulo.saudacao("Maria"))
Importar funções específicas de um módulo
from meumodulo import saudacao
print(saudacao("João"))
Importar módulos usando aliases
Podemos dar um nome alternativo ao módulo ou função para simplificar o seu uso, usando import…as:
import meumodulo as mm
print(mm.saudacao("Ana"))
Importar tudo de um módulo
Para importar todas as funções e variáveis de um módulo (não recomendado em projetos grandes):
from meumodulo import *
print(saudacao("Carlos"))
Pacotes (packages)
Um pacote é uma coleção de módulos organizados em pastas com um arquivo especial __init__.py
. Isso permite criar hierarquias lógicas de módulos.
Exemplo:
Estrutura do pacote na pasta meupacote:
meupacote/
│
├── init.py
├── modulo1.py
└── modulo2.py
Conteúdo do ficheiro modulo1.py
:
def funcao_modulo1():
return "Função do módulo 1"
Conteúdo do ficheiro modulo2.py
:
def funcao_modulo2():
return "Função do módulo 2"
Uso do pacote:
from meupacote.modulo1 import funcao_modulo1
from meupacote.modulo2 import funcao_modulo2
print(funcao_modulo1()) # Saída: Função do módulo 1
print(funcao_modulo2()) # Saída: Função do módulo 2
Módulos da biblioteca padrão
O Python vem com uma vasta biblioteca padrão que inclui módulos prontos para uso. Alguns exemplos comuns:
Módulo math
(operações matemáticas):
import math
print(math.sqrt(16)) # Saída: 4.0
print(math.pi) # Saída: 3.141592653589793
Módulo random
(geração de números aleatórios):
import random
print(random.randint(1, 10)) # Gera um número aleatório entre 1 e 10
Módulo datetime
(manipulação de datas e horas):
from datetime import datetime
agora = datetime.now()
print(agora)