Roadmap — Funcional e idiomas avançados (galho 4)
Roadmap-folha do galho Python/Funcional e idiomas avançados. Fase Adepto→Magus — o “como por dentro” de generators, iterators, decorators e closures, mais o kit functools. Spec: 2026-07-09-python-trilha-design. EXEMPLAR de estrutura: Python/Core/index.md, Python/Collections e Comprehensions/index.md, Python/OO e Data Model/index.md.
Tabela-resumo
| Métrica | Valor |
|---|---|
| Total de notas | 9 |
| ⬜ pendente | 0 |
| ✅ feita | 9 |
| 🔄 em andamento | 0 |
| % concluído | 100% ✅ |
Notas
01 - Iterators e o protocolo __iter__/__next__
- Estado: ✅ feita (2026-07-10) · fase: Adepto
- Escopo: protocolo iterator completo (
__iter__retorna self ou outro objeto,__next__levantaStopIteration), iterator vs iterable,iter()/next()embutidos, aprofunda o quePython/OO e Data Model/03só tocou via Data Model,itertoolscomo ponte (já visto no Galho 2). - Resultado: 466 linhas / 5057 palavras; 2 Mermaid, 4 [!warning], 3 [!question]-. Fontes: docs.python.org, PEP 234, Real Python, Fluent Python (Ramalho).
02 - Generators — yield e generator functions
- Estado: ✅ feita (2026-07-10) · fase: Adepto
- Escopo: generator functions (
yieldsuspende/retoma estado), diferença de generator expressions (já vistas no Galho 2), lazy evaluation,send()/throw()/close(), por que generators implementam o protocolo iterator de graça. - Resultado: 449 linhas / 5919 palavras; 3 Mermaid, 6 [!warning], 2 [!question]-. Fontes: PEP 255, PEP 342, docs.python.org, Real Python, Fluent Python (Ramalho).
03 - yield from e delegação de generators
- Estado: ✅ feita (2026-07-10) · fase: Adepto→Magus
- Escopo:
yield fromcomo delegação transparente (PEP 380), subgenerators, propagação de valores/exceções, caso de uso real (flatten de estruturas aninhadas, pipelines de geradores). - Resultado: 388 linhas / 5310 palavras; 1 Mermaid, 4 [!warning], 2 [!question]-. Fontes: PEP 380, PEP 342, PEP 492, docs.python.org, Real Python, Fluent Python (Ramalho).
04 - Closures de verdade
- Estado: ✅ feita (2026-07-10) · fase: Adepto
- Escopo: free variables,
nonlocal, factory functions, o que ficou pendente do Core nota 06 (LEGB), late binding em closures dentro de loops (armadilha clássica), comparação com o modelo de closures de outras linguagens. - Resultado: 486 linhas / 6195 palavras; 2 Mermaid, 5 [!warning], 4 [!question]-. Fontes: PEP 3104, docs.python.org, Real Python, Fluent Python (Ramalho), Baeldung/Oracle (comparação Java).
05 - Decorators — fundamentos
- Estado: ✅ feita (2026-07-10) · fase: Adepto→Magus
- Escopo: funções como cidadãos de primeira classe, decorator sem argumento (
@decorador),*args/**kwargsno wrapper, por que decorators são só açúcar sintático prafunc = decorador(func), casos de uso (logging, timing, memoização simples). - Resultado: 418 linhas / 5124 palavras; 2 Mermaid, 5 [!warning], 4 [!question]-. Fontes: docs.python.org (glossário, functools), PEP 318, Real Python, Fluent Python (Ramalho).
06 - Decorators com argumentos e functools.wraps
- Estado: ✅ feita (2026-07-10) · fase: Magus
- Escopo: decorator factory (decorator que recebe argumentos), 3 níveis de aninhamento de função,
functools.wrapse por que preservar__name__/__doc__importa, decorators empilhados (ordem de aplicação). - Resultado: 501 linhas / 6418 palavras; 4 Mermaid, 5 [!warning]. Fontes: docs.python.org (functools.wraps), PEP 318, Real Python, Fluent Python (Ramalho), Design Patterns (GoF).
07 - functools — ferramentas funcionais
- Estado: ✅ feita (2026-07-10) · fase: Adepto→Magus
- Escopo:
lru_cache/cache(memoização real, contraste com a memoização manual da nota 05),partial/partialmethod(aplicação parcial),reduce(por que saiu de built-in — PEP 3100, quando ainda faz sentido vs. builtins nomeados),singledispatch/singledispatchmethod(polimorfismo por tipo de argumento, ponte comProtocol/ABCdo Galho 3). - Resultado: 481 linhas / 6029 palavras; 2 Mermaid, 6 [!warning], 3 [!question]-. Fontes: docs.python.org (functools), PEP 3100, PEP 443, Real Python, Fluent Python (Ramalho), Artima (Guido van Rossum).
08 - Context managers via generator
- Estado: ✅ feita (2026-07-10) · fase: Magus
- Escopo:
@contextlib.contextmanager,yieldcomo ponto de divisão__enter__/__exit__, tratamento de exceção dentro do gerador (relançada no ponto doyield, via.throw()interno), comparação com o protocolo__enter__/__exit__manual (já visto emOO e Data Model/07),contextlib.suppress/ExitStackcomo bônus. - Resultado: 501 linhas / 5637 palavras; 2 Mermaid, 6 [!warning], 3 [!question]-. Fontes: docs.python.org (contextlib), PEP 343, PEP 342, Real Python, Fluent Python (Ramalho).
09 - Capstone — funcional e idiomas avançados
- Estado: ✅ feita (2026-07-10) · fase: Magus · FECHA o galho
- Escopo: recapitulação do galho amarrando generators (
yield from)+closures+decorators (simples e com argumentos,functools.wraps)+functools (lru_cache/singledispatch)+context manager via generator num pipeline ETL lazy único, ponte pro Galho 5 (Tipagem moderna). - Resultado: 510 linhas / 5802 palavras; 2 Mermaid, 5 [!warning], 3 [!question]-. Fontes: docs.python.org, PEPs 255/342/380/318/343, Real Python, Fluent Python (Ramalho).