Python Poderoso
Padrões e estratégias para o Python moderno
Descrição do livro
Como se tornar proficiente na criação de aplicações Python complexas e poderosas — sem perder tempo repetindo o que você já conhece de básico ou se prendendo a recursos que não importam? Neste livro único, o autor Aaron Maxwell se concentra nos princípios fundamentais do Python que aceleram todo o restante: os 5% do conhecimento de programação que fazem os outros 95% serem resolvidos rapidamente.
Você aprenderá:
• Abstrações de funções de ordem superior para criar código poderoso e expressivo.
• Como tornar todo o seu código Python mais robusto e escalável com padrões de design de gerador.
• Os benefícios cognitivos das comprehensions do Python, como construir estruturas de comprehension mais complexas, e sua surpreendente ligação com os geradores.
• Metaprogramação com decorators, para a criação de abstrações potentes e padrões de reutilização de código que não são capturados de nenhuma outra forma.
• O modelo de exceção do Python para a sinalização de erros “inesperados” e outros eventos.
• Técnicas avançadas de programação orientada a objetos dentro do modelo de objetos do Python.
• Como se beneficiar do desenvolvimento orientado a testes para escrever softwares melhores com mais rapidez e entrar em um estado de concentração e imersão na programação.
• Organização eficaz de módulos, logging básico e avançado do Python e muito mais.
“Os conceitos ensinados em Python Poderoso são essenciais para qualquer pessoa que leve suas habilidades em Python a sério, e o estilo acessível e os exemplos claros tornam o aprendizado o mais simples possível para o leitor.” Rodrigo Girão Serrão, Autor do blog mathspp.com
Ver menos ▲Sumário
- Prefácio
- Capítulo 1: Escalabilidade com geradores
- Iteração em Python
- Funções geradoras
- Dando sequência a next()
- Fazendo a conversão para uma função geradora
- Precisamos de geradores?
- Padrões de gerador e composabilidade escalável
- Linhas de texto para dicts (dicionários)
- Interfaces compostas
- Fan-out
- Fan-in
- O Python tem vários iteradores
- Protocolo iterador
- Conclusão
- Capítulo 2: Criando coleções com comprehensions
- List Comprehensions
- Formatação visando legibilidade (e muito mais)
- Várias sources e filtros
- Cláusulas independentes
- Vários filtros
- Comprehensions e geradores
- Dicionários, conjuntos e tuplas
- Conclusão
- Capítulo 3: Funções avançadas
- Aceitando e passando um número variável de argumentos
- Desempacotamento de argumentos
- Argumentos de palavra-chave variáveis
- Desempacotamento de palavras-chave
- Combinando argumentos posicionais e de palavra-chave
- Funções como objetos
- Key Functions em Python
- Conclusão
- Capítulo 4: Decorators
- Decorator básico
- Decorators genéricos
- Decorando métodos
- Dados em decorators
- Acessando dados internos
- Estado não local do decorator
- Decorators que recebem argumentos
- Decorators baseados em classes
- Implementando decorators baseados em classes
- Benefícios dos decorators baseados em classes
- Decorators para classes
- Conclusão
- Capítulo 5: Exceções e erros
- A ideia básica
- Manipulando exceções
- Exceções para controle de fluxo
- Blocos finally
- Exceções de dicionário
- As exceções são objetos
- Lançando exceções
- Capturando e relançando
- Antipadrão Python mais diabólico
- Conclusão
- Capítulo 6: Classes e objetos: além do básico
- Propriedades
- Padrões de propriedade
- Validação
- Propriedades e refatoração
- Padrões Factory
- Construtores alternativos: Factory Simples
- Tipo dinâmico: o padrão Factory Method
- Padrão Observer
- Observer simples
- Um refinamento pythonico
- Vários canais
- Métodos mágicos
- Usando os métodos mágicos incorretamente
- Conclusão
- Capítulo 7: Teste automatizado
- O que é desenvolvimento orientado a testes?
- Testes de unidade e asserções simples
- Fixtures e configuração de teste comum
- Exceções de asserção
- Usando subconjuntos
- Conclusão
- Capítulo 8: Organização em módulos
- Gerando um módulo
- Criando bibliotecas separadas
- Módulos de vários arquivos
- Sintaxe de importação e controle de versão
- Estrutura de submódulos aninhados
- Aviso de antipadrão
- Efeitos colaterais da importação
- Conclusão
- Capítulo 9: Logging no Python
- Interface básica
- Níveis de log
- Por que temos níveis de log?
- Configurando a interface básica
- Passando argumentos
- Além do básico: loggers
- Destinos de log: handlers e fluxos
- Logging em vários destinos
- Layout do registro com formatadores
- Conclusão
- Palavras finais
- Índice remissivo
Sobre o autor
Aaron Maxwell é engenheiro de software e pythonista. Ao longo de uma década trabalhando em equipes de engenharia do Vale do Silício, ganhou experiência em produção na engenharia de back-end em larga escala, ciência de dados e machine learning, infraestrutura de automação de testes, DevOps e SRE, infraestrutura de nuvem, automação de marketing,… Ver perfil completo ▶
Livros relacionados
Recursos
Opinião dos leitores
Mario L B
Conteúdo muito bom, tradução bem feita. Na minha opinião, este é um livro para quem já tem um bom conhecimento da linguagem Python e quer se aprofundar em tópicos mais avançados. Trata-se de um daqueles livros que todo pythonista deveria ler.






