Dos conceitos gerais aos tópicos específicos, em um só lugar.
Programar é escrever instruções que um computador executa para resolver um problema. Essas instruções são escritas em uma linguagem de programação, que funciona como um meio-termo entre a linguagem humana e a linguagem da máquina.
Python é uma linguagem de alto nível, interpretada e de propósito geral, conhecida por sua sintaxe legível e clara. É amplamente usada em desenvolvimento web, ciência de dados, automação, inteligência artificial e muito mais. Suas principais vantagens são:
Baixe o Python no site oficial python.org e instale. Para verificar a
instalação, abra o terminal e digite:
python --version
O tradicional primeiro programa exibe uma mensagem na tela:
# Salve em um arquivo chamado ola.py e execute com: python ola.py
print("Olá, mundo!")
print() mostra texto no terminal.
Tudo após o símbolo # é um comentário e é ignorado pelo Python.
Uma variável é um nome que aponta para um valor armazenado na memória. Em Python não é preciso declarar o tipo: ele é inferido automaticamente.
nome = "Maria" # str (texto)
idade = 30 # int (número inteiro)
altura = 1.65 # float (número decimal)
estudante = True # bool (verdadeiro/falso)
print(nome, idade, altura, estudante)
| Tipo | Descrição | Exemplo |
|---|---|---|
int | Número inteiro | 42 |
float | Número decimal | 3.14 |
str | Texto (cadeia de caracteres) | "Olá" |
bool | Valor lógico | True / False |
# Aritméticos
soma = 10 + 3 # 13
divisao = 10 / 3 # 3.333...
inteira = 10 // 3 # 3 (divisão inteira)
resto = 10 % 3 # 1 (módulo)
potencia = 2 ** 8 # 256
# Comparação (retornam bool)
print(10 > 3) # True
print(5 == 5) # True
print(7 != 2) # True
# Lógicos
print(True and False) # False
print(True or False) # True
print(not True) # False
Condicionais permitem executar blocos de código diferentes conforme uma condição. Em Python, a indentação (espaços no início da linha) define os blocos.
idade = 18
if idade < 12:
print("Criança")
elif idade < 18:
print("Adolescente")
else:
print("Adulto")
Laços repetem instruções. Os principais são for e while.
# for: percorre uma sequência
for i in range(1, 6): # 1, 2, 3, 4, 5
print("Número:", i)
# while: repete enquanto a condição for verdadeira
contador = 0
while contador < 3:
print("Contando", contador)
contador += 1
# break interrompe; continue pula para a próxima iteração
for n in range(10):
if n == 5:
break
if n % 2 == 0:
continue
print(n) # imprime 1, 3
# Lista: ordenada e mutável
frutas = ["maçã", "banana", "uva"]
frutas.append("laranja")
print(frutas[0]) # maçã
# Tupla: ordenada e imutável
ponto = (10, 20)
# Dicionário: pares chave-valor
pessoa = {"nome": "Ana", "idade": 25}
print(pessoa["nome"]) # Ana
# Conjunto: elementos únicos, sem ordem
numeros = {1, 2, 2, 3}
print(numeros) # {1, 2, 3}
| Coleção | Ordenada? | Mutável? | Duplicatas? |
|---|---|---|---|
| Lista | Sim | Sim | Sim |
| Tupla | Sim | Não | Sim |
| Dicionário | Sim (3.7+) | Sim | Chaves únicas |
| Conjunto | Não | Sim | Não |
Funções agrupam código reutilizável. Use def para definir e
return para devolver um resultado.
def saudacao(nome, mensagem="Olá"):
return f"{mensagem}, {nome}!"
print(saudacao("Carlos")) # Olá, Carlos!
print(saudacao("Ana", "Bem-vinda")) # Bem-vinda, Ana!
# Argumentos variáveis
def somar(*numeros):
return sum(numeros)
print(somar(1, 2, 3, 4)) # 10
# Função lambda (anônima)
dobro = lambda x: x * 2
print(dobro(5)) # 10
Módulos permitem organizar e reaproveitar código. A biblioteca padrão do Python já traz muitos módulos prontos.
import math
print(math.sqrt(16)) # 4.0
from datetime import date
print(date.today())
# Instalando pacotes externos (no terminal):
# pip install requests
import requests
resposta = requests.get("https://api.github.com")
print(resposta.status_code)
# Escrevendo em um arquivo
with open("dados.txt", "w", encoding="utf-8") as arquivo:
arquivo.write("Primeira linha\n")
arquivo.write("Segunda linha\n")
# Lendo um arquivo
with open("dados.txt", "r", encoding="utf-8") as arquivo:
conteudo = arquivo.read()
print(conteudo)
with fecha o arquivo automaticamente ao final, mesmo se
ocorrer um erro.
Exceções são erros que ocorrem durante a execução. Trate-os com try/except.
try:
numero = int(input("Digite um número: "))
resultado = 10 / numero
print("Resultado:", resultado)
except ValueError:
print("Isso não é um número válido!")
except ZeroDivisionError:
print("Não é possível dividir por zero!")
finally:
print("Operação finalizada.")
A POO organiza o código em classes (modelos) e objetos (instâncias dessas classes), com atributos (dados) e métodos (comportamentos).
class Animal:
def __init__(self, nome):
self.nome = nome
def fazer_som(self):
return "Som genérico"
# Herança
class Cachorro(Animal):
def fazer_som(self):
return "Au au!"
rex = Cachorro("Rex")
print(rex.nome) # Rex
print(rex.fazer_som()) # Au au!
quadrados = [x ** 2 for x in range(1, 6)]
print(quadrados) # [1, 4, 9, 16, 25]
pares = [x for x in range(20) if x % 2 == 0]
def contador(maximo):
n = 0
while n < maximo:
yield n # produz valores sob demanda, economizando memória
n += 1
for valor in contador(3):
print(valor) # 0, 1, 2
def registrar(funcao):
def interna(*args, **kwargs):
print(f"Chamando {funcao.__name__}")
return funcao(*args, **kwargs)
return interna
@registrar
def cumprimentar(nome):
print(f"Olá, {nome}")
cumprimentar("Maria")
def media(numeros: list[float]) -> float:
return sum(numeros) / len(numeros)
print(media([8.0, 9.5, 7.0]))
# Criar um ambiente virtual isolado
python -m venv venv
# Ativar (Linux/macOS)
source venv/bin/activate
# Ativar (Windows)
venv\Scripts\activate
# Instalar dependências e salvá-las
pip install requests
pip freeze > requirements.txt
Com a base coberta, explore áreas específicas conforme seu interesse: