Programador Leigo
🐍 python · flask · django · e mais

Código simples
para
mentes curiosas.

Trilhas de aprendizado organizadas do zero ao avançado. Escolha uma, siga no seu ritmo e aprenda Python de verdade.

8 trilhas
60+ artigos
100% gratuito
input_idade.py
# Maior de idade? 🎂

idade = int(input("Sua idade: "))

if idade >= 18:
    print("Maior de idade ✅")
else:
    print("Menor de idade 🔒")
01 —

Escolha sua trilha

ver todas →

Crie uma conta gratuita para acompanhar seu progresso em cada trilha

Criar conta grátis
02 —

O que você vai encontrar

exemplo.py
def saudacao(nome):
    hora = datetime.now().hour
    if hora < 12:
        periodo = "Bom dia"
    elif hora < 18:
        periodo = "Boa tarde"
    else:
        periodo = "Boa noite"
    return f"{periodo}, {nome}!"

print(saudacao("Pythonista"))

Código real desde a aula 1

Cada conceito vem com exemplos práticos que você pode copiar e rodar no seu computador.

aprendizado guiado

Trilhas que te levam do zero ao avançado

1

Python do Zero

8 aulas
2

Projetos Python para Iniciantes

7 aulas
3

Python para Data Science

5 aulas

Sem ficar perdido procurando "o que estudar agora". A trilha organiza tudo para você.

🐍

Nunca programou?

Crie sua conta, escolha a trilha Python do Zero e acompanhe seu progresso aula por aula.

Criar conta grátis
03 —

⚡ Python em 60 segundos

custom_exception.py
class SaldoInsuficiente(Exception):
    def __init__(self, saldo, valor):
        self.saldo = saldo
        self.valor = valor
        super().__init__(
            f'Saldo R${saldo} insuficiente '
            f'para R${valor}')

def sacar(saldo, valor):
    if valor > saldo:
        raise SaldoInsuficiente(saldo, valor)
    return saldo - valor

try:
    sacar(100, 200)
except SaldoInsuficiente as e:
    print(e)  # Saldo R$100 insuficiente...
erros ⚡ 60s

Criar exceções personalizadas em Python

with_open.py
# Escrever
with open('notas.txt', 'w') as f:
    f.write('Python: 10\n')
    f.write('Flask: 9.5\n')

# Ler
with open('notas.txt') as f:
    for linha in f:
        print(linha.strip())
arquivos ⚡ 60s

Ler arquivo com with (sem esquecer de fechar)

strftime.py
from datetime import datetime

agora = datetime.now()

print(agora.strftime('%d/%m/%Y'))    # 17/03/2026
print(agora.strftime('%H:%M'))       # 14:30
print(agora.strftime('%A, %d de %B'))  # Tuesday, 17 de March

# String -> datetime
dt = datetime.strptime('25/12/2026', '%d/%m/%Y')
print(dt)  # 2026-12-25 00:00:00
strings ⚡ 60s

Formatar datas em Python com strftime

zip_listas.py
nomes = ['Ana', 'Carlos', 'Bia']
notas = [9.5, 7.8, 8.2]

for nome, nota in zip(nomes, notas):
    print(f'{nome}: {nota}')

# Criar dicionario de uma vez
boletim = dict(zip(nomes, notas))
print(boletim)
listas ⚡ 60s

Combinar listas com zip()

lista_index.py
frutas = ['maca', 'banana', 'uva', 'manga']

# Posicao do elemento
pos = frutas.index('uva')
print(pos)  # 2

# Seguro: verificar antes
if 'abacaxi' in frutas:
    print(frutas.index('abacaxi'))
else:
    print('Nao encontrado')  # Nao encontrado
listas ⚡ 60s

Encontrar posição de um elemento na lista

split_max.py
log = '2026-03-17 14:30:00 ERRO Falha na conexao'

# Dividir tudo
print(log.split())
# ['2026-03-17', '14:30:00', 'ERRO', 'Falha', 'na', 'conexao']

# Dividir apenas 3 vezes
data, hora, nivel, msg = log.split(maxsplit=3)
print(f'[{nivel}] {msg}')  # [ERRO] Falha na conexao

# rsplit divide pela direita
caminho = 'pasta/sub/arquivo.tar.gz'
print(caminho.rsplit('.', 1))  # ['pasta/sub/arquivo.tar', 'gz']
strings ⚡ 60s

Dividir string com limite usando split()

+75 dicas

Truques, atalhos e boas práticas de Python para o dia a dia.

Ver todas as dicas
04 —

Artigos — explore além das trilhas

ver todos →

Compartilhar

newsletter

Novo artigo?
Você recebe primeiro.

Sem spam. Só conteúdo de qualidade sobre Python e programação, direto no seu e-mail. Cancele quando quiser.