Python Eficaz

59 maneiras de programar melhor em Python

Python Eficaz Somente ebook
× Python Eficaz

Python Eficaz

Compartilhar

Autor: Brett Slatkin

ISBN impresso: 978-85-7522-510-3
ISBN ebook: 978-85-7522-600-1
Ano: 2016
Páginas: 296
Preço: R$ 89,00

6 opiniões | Opine sobre este livro

Descrição do livro

É fácil começar a programar em Python, e esse é o motivo de a linguagem ser tão popular. Contudo, os pontos fortes, aspectos belos e expressividade únicos do Python podem ser um tanto difíceis de entender, e há armadilhas que podem fazer tropeçar o programador desavisado.

Python Eficaz ajudará o leitor a dominar o mais verdadeiro estilo “pythônico” da arte de programar, empregando todo o potencial do Python para escrever códigos robustos e de desempenho exemplar. Usando o estilo conciso e baseado em cenários, visto no best-seller C++ Eficaz, de Scott Meyers, o autor Brett Slatkin reúne 59 das melhores práticas e dicas em Python, e as explica com exemplos realistas de código.

Com anos de experiência ajudando a construir a infraestrutura do Google em Python, Slatkin revela trechos simples de código e peculiaridades da linguagem que causam profundo impacto no comportamento e desempenho do código. Serão mostradas as melhores maneiras de realizar tarefas cruciais e, dessa forma, escrever códigos fáceis de entender, manter e aprimorar.

O livro inclui

  • Instruções práticas para todas as principais áreas de desenvolvimento em Python 3.x e 2.x, com explicações detalhadas e exemplos

  • Melhores práticas para escrever funções claras, que incentivam sua reutilização e evitam erros

  • Explicação sobre como expressar comportamentos com precisão usando classes e objetos

  • Orientação para evitar armadilhas com metaclasses e atributos dinâmicos

  • Abordagem mais eficiente para implementar simultaneidade e paralelismo

  • Técnicas e expressões mais adequadas para uso dos módulos nativos do Python

  • Ferramentas e melhores práticas para o desenvolvimento colaborativo

  • Soluções para depuração, testes e otimização de forma a melhorar a qualidade e o desempenho

Ver menos ▲

Sumário

  • Elogios a Python Eficaz
  • Prefácio
  • Agradecimentos
  • Sobre o autor
    • Raciocínio pythônico
  • Item 1: Saiba qual versão de Python está em uso
  • Item 2: Siga o Guia de Estilo PEP 8
  • Item 3: Saiba as diferenças entre bytes, str e unicode
  • Item 4: Escreva funções auxiliares em vez de expressões complexas
  • Item 5: Saiba como fatiar sequências
  • Item 6: Evite usar start, end e stride em uma mesma fatia
  • Item 7: Use abrangências de lista em vez de map e filter
  • Item 8: Evite mais de duas expressões em abrangências de lista
  • Item 9: Considere usar expressões geradoras em abrangências muito grandes
  • Item 10: Prefira enumerate em vez de range
  • Item 11: Use zip para processar iteradores em paralelo
  • Item 12: Evite usar blocos else depois de laços for e while
  • Item 13: Use todo o potencial dos blocos try/except/else/finally
    • Funções
  • Item 14: Prefira exceções em vez de devolver None
  • Item 15: Saiba como closures interagem com os escopos das variáveis
  • Item 16: Prefira geradores em vez de retornar listas
  • Item 17: Seja conservador quando iterar sobre argumentos
  • Item 18: Reduza a poluição visual com argumentos opcionais
    • argumentos
    • específicos
  • Item 21: Garanta a legibilidade com argumentos por palavras-chave
    • Classes e herança
    • dicionários e tuplas
  • Item 23: Aceite funções para interfaces simples em vez de classes
  • Item 25: Inicialize classes ancestrais com super
  • Item 26: Use heranças múltiplas apenas para classes utilitárias mix-in
  • Item 27: Prefira atributos públicos em vez de privativos
    • Metaclasses e atributos
  • Item 29: Use atributos comuns em vez dos métodos get e set
  • Item 30: Considere usar @property em vez de refatorar atributos
  • Item 33: Valide subclasses com metaclasses
  • Item 34: Registre a existência de uma classe com metaclasses
  • Item 35: Crie anotações de atributos de classe com metaclasses
    • Simultaneidade e paralelismo
  • Item 36: Use subprocess para gerenciar processos-filho
  • Item 37: Use threads para bloquear I/O e evitar paralelismo
  • Item 39: Use Queue para coordenar o trabalho entre as threads
  • Item 41: Considere usar concurrent futures para obter paralelismo real
    • Módulos nativos
  • Item 42: Defina decoradores de função com functools wraps
    • reutilizável de try/finally
  • Item 44: Aumente a confiabilidade de pickle com copyreg
  • Item 45: Use datetime em vez de time para relógios locais
  • Item 46: Use algoritmos e estruturas de dados nativos
  • Item 47: Use decimal quando a precisão for de importância vital
  • Item 48: Saiba onde encontrar os módulos desenvolvidos pela comunidade
    • Colaboração
  • Item 49: Escreva docstrings para toda e qualquer função, classe e módulo
  • Item 50: Use pacotes para organizar módulos e criar APIs estáveis
  • Item 51: Defina uma Exception-raiz para isolar chamadores e APIs
  • Item 52: Saiba como romper dependências circulares
    • Produção
    • implementação
  • Item 55: Use strings com a função repr para depuração
  • Item 56: Teste absolutamente tudo com unittest
  • Item 57: Prefira usar depuradores interativos como o pdb
  • Item 58: Meça os perfis de desempenho antes de otimizar o código
  • Item 59: Use tracemalloc para entender o uso e os vazamentos de memória
Ver sumário completo ▼

Sobre o autor

Brett Slatkin

Brett Slatkin, engenheiro sênior de software na Google, é chefe de engenharia e cofundador dos Google Consumer Surveys. Anteriormente, trabalhou na infraestrutura em Python do Google App Engine, empregou Python na administração do imenso parque de servidores da Google e usou Python para implementar o sistema Google que gerencia o PubSubHubbub, um… Ver perfil completo ▶

Opinião dos leitores

Alyson B G

Livro com algumas dicas interessantes, mas ao contrário do que o autor diz, não considero uma obra boa para iniciantes. Prós: Gostei bastante das explicações sobre pacotes e como evitar dependências circulares. Contras: O livro aborda uma grande variedade de assuntos, então se o leitor não conhece pelo menos o básico desses assuntos fica sem entender a maioria das dicas.

Fabio O

Livro muito bom, não é para iniciantes. Mas vale a pena comprar.

Luiz F F

Livro bom com bastante dicas interessantes.

Michell S F

Livro essencial não apenas para iniciantes mas também para quem já possui certa experiência com a linguagem. Os exemplos do livro são diretos e muito úteis. Os motivos para adotar ou evitar uma determinada abordagem são muito bem explicadas. Comprei o livro e não me arrependo. Recomendo!

Ver todas ▼