Meus principais livros sobre Python

Olá, Habr! Sou Slava, chefe da equipe de "Ferramentas Profissionais" em Tsian, membro da Moscow Python Conf e da equipe principal de autores da Yandex.Practicum.



Junto com a galera, estamos desenvolvendo o curso de desenvolvedor Middle python , e hoje quero compartilhar minha lista pessoal de livros que irão ajudá-lo a estruturar e aprofundar seu conhecimento sobre desenvolvimento Python.







Aprendendo Python por Mark Lutz







A parte superior é aberta pelo livro "Learning Python" de Mark Lutz. Ele ocupa um lugar especial em minha carreira - foi por meio dele que aprendi Python. Como estudante, parecia-me um trabalho fundamental - o livro tem quase mil e quinhentas páginas!



O livro permitirá que você entre em Python, como dizem, do zero. Por que as pessoas programam em Python? Quem está usando Python hoje? O que você pode fazer com Python? Quais são os pontos fortes do Python? Responder a essas perguntas lhe dará uma compreensão geral do idioma.



O livro apresenta ao leitor o modo interativo - a linha de comando do Python. Você aprenderá como enviar texto para a saída padrão, sobre módulos e sua importação, sobre as peculiaridades de usar Python no Windows.



A seguir está uma descrição dos tipos de dados e recursos para trabalhar com eles. Capítulos separados cobrem o trabalho com strings e dicionários. Você aprenderá sobre ramificações e loops, iteradores, geradores, funções e seus argumentos, módulos e pacotes como formas de organizar seu código. Isso é seguido por uma introdução à OOP: classes, herança, sobrecarga de operador, polimorfismo e metaclasses. Explica sobre as exceções e seu papel na linguagem.



Na minha opinião, "Aprendendo Python" de forma muito suave e abrangente introduz o leitor ao mundo do Python, por um lado, sem entrar em detalhes, por outro, dando a imagem completa.



Python de alto desempenho: um guia prático para pessoas, Misha Gorelik, Jan Oswald







O segundo lugar no topo é ocupado pelo livro de M. Gorelik e J. Oswald "High Performance Python: A Practical Guide for People".



O livro lhe dará uma pequena olhada sob o capô da língua. O que é alto desempenho em termos de Python? O livro apresenta a máquina virtual Python, ensina como usar ferramentas de profiling para encontrar gargalos no uso do tempo do processador, fala sobre tipos de dados do ponto de vista de sua estrutura interna.



Você aprenderá sobre multithreading, execução assíncrona e multiprocessador, como organizar a computação em cluster e como consumir menos RAM. Para os mais sofisticados, há um capítulo separado sobre a compilação de código Python em C.



Seu código pode estar perfeitamente correto, mas não rápido o suficiente. Para que funcione mais rápido, você precisa entender como funciona o idioma no qual você escreve. Este guia prático ajudará você a obter uma compreensão profunda da implementação do Python.



"Pitão. Desenvolvimento Orientado a Testes ", Harry Percival







O próximo livro importante é “Python. Desenvolvimento baseado em testes ”Harry Percival. Tive a sorte de falar com Harry como parte da última Python Week 2020 russa . Dizem que os britânicos são afetados, com um estranho senso de humor. Acho que são estereótipos. Harry brincava muito e era engraçado, sorria, contava histórias da vida, era muito aberto. O melhor de tudo é que Harry mesmo contará sobre seu livro.





, , . Python «Dive Into Python» — 2008-. , , — . - 14- -. . , , -. : «, !» -, . — , . , . Python — - -? ! Django-, - — , . ? . .



, , . - , 12 -, -, .



– . , , . . … , -. . , , ! , , !



. , , , — .



, . , : «- ? ?» : — . — . . : « ? , !» : «-, , ». , , , . ! - ! , - , — . .



O desenvolvimento dirigido por testes não é uma coisa natural; é preciso prática para entrar nele. No livro, estou apenas tentando dar um pouco de prática.


O livro permitirá que você repense seu trabalho e se aproxime dele, ele literalmente mudará sua mente. Muitas coisas rotineiras adquirirão um novo significado, aparecerá interesse nelas. A qualidade dos testes melhorará significativamente e isso afetará inevitavelmente a qualidade do código e da arquitetura do aplicativo.



Padrões de Arquitetura com Python: Habilitando Desenvolvimento Orientado a Testes, Design Orientado a Domínio e Microsserviços Orientados a Eventos, Harry Percival, Bob Gregory







Não pude deixar de falar com Harry Percival sobre um novo livro que ele está escrevendo em coautoria com Bob Gregory, Architectural Patterns in Python. O livro pode ser lido gratuitamente em www.cosmicpython.com . Harry continua.

. -, , API, , , — e2e-, ; , . , , — . , : , , , . , — , .



. , , - e2e- . . .



: , . , . Java C# ( -) Python. , Java Python ( ), , pythonic way.



A principal questão que estou tentando responder neste livro é como uma arquitetura de aplicativo pode nos ajudar a obter os testes da mais alta qualidade.


O livro deve ser lido como uma continuação de “Python. Desenvolvimento orientado a testes ". Se você gostou do primeiro livro e as ideias apresentadas nele ressoaram em você, o segundo livro responderá a todas as suas perguntas e ajudará a trazer a abordagem para a vida - no trabalho ou em seu projeto pessoal.



"Pitão. Para as alturas da excelência ", Luciano Ramallo







O livro “Python. Às alturas da excelência ”do magnífico Luciano Ramalho. O livro fez muito sucesso e foi traduzido para oito idiomas.



Se eu tentar explicar em uma linha do que trata este livro, diria o seguinte: é sobre como usar o Python 3 da melhor maneira possível.



Luciano tem 66 anos e mora e trabalha em São Paulo, Brasil. Tive a sorte de falar com ele como parte da Semana Russa Python 2020 anterior . Apesar da idade, Luciano me parecia um interlocutor muito vivo, aberto e alegre.







Luciano está trabalhando na segunda edição do livro. Ele compartilhou que a principal mudança no novo livro será o capítulo "Introdução às dicas de tipo" - ainda não terminou, mas já tem 60 páginas e será o maior capítulo do livro!



Uma vez Luciano foi chamado para jogar vôlei.



“Não sei jogar vôlei”, disse Luciano.

- Sim, ninguém tem ideia de como jogar vôlei, só precisamos de mais uma pessoa para formar um time - responderam os rapazes.



Na equipe, apenas o capitão era profissional. Ele explicou que o jogador do campo externo passa a bola para o jogador do centro, ele passa a bola para o jogador que está embaixo da rede, que por sua vez manda a bola para o lado adversário. Esta é a melhor prática, então jogue Pro.



O jogo começou, a equipa agiu de acordo com as instruções e acabou por começar a perder.



A realidade era que ninguém, exceto o capitão, sabia jogar bem e, muitas vezes, durante os passes, a equipe perdia a bola - ela caía no chão e a jogada passava para o adversário.



Luciano montou uma equipe.



- Vamos parar de fingir que somos profissionais - realmente não sabemos jogar profissionalmente! Vamos imediatamente jogar a bola para o lado do adversário sem passar por dentro - assim como fazíamos há muito tempo na escola!



E funcionou! Não foi a Melhor Prática, mas esta tática foi a mais adequada para a situação e a equipe que eles tinham. E no final levou à vitória.



Essa pequena história também é significativa para o mundo Python. Você precisa entender que Python é usado por muitas pessoas que não são desenvolvedores profissionais - são físicos, biólogos, sociólogos e outros. É necessário que a ferramenta não exija que eles realizem as Melhores Práticas, mas permita que resolvam uma tarefa urgente. E o Python permite isso.



Luciano gosta muito de programação. Ele começou a aprender Python há 20 anos e o ensinou a muitas outras pessoas desde então. Luciano descobriu que, como o Python é tão fácil de aprender, às vezes as pessoas nem lêem o tutorial inteiro. Por isso, às vezes, ao ler o código de outra pessoa, você pode descobrir que uma pessoa escreve código Java em Python ou código Ruby em Python, ou seja, tenta repetir em outra linguagem o que está acostumado. Luciano criou o curso Python para quem conhece Python. Depois disso, ele falou muito sobre como fazer certas coisas da maneira python. E assim nasceu o livro.



O livro fez muito sucesso tanto no mundo quanto para o próprio Luciano: ele conseguiu um emprego na ThoughtWorks. Ele queria muito trabalhar lá, mas não se atreveu a mandar seu currículo para eles por causa da alta exigência de candidatos. Depois que o livro foi publicado, eles próprios o procuraram. Hoje, a ThoughtWorks apóia Luciano como orador público, assim como Martin Fowler.



O título em russo do livro foi sugerido pelo desenvolvedor do núcleo do Python, Yuri Selivanov . Luciano acha que esta é uma boa tradução de seu livro.



Se você quer mesmo construir uma carreira como desenvolvedor Python, este livro é para você.



Por que ler livros



Estou profundamente convencido de que a leitura de livros é necessária para pessoas de todas as idades. Não apenas literatura profissional, mas também ficção. Os livros agem sobre uma pessoa como uma pedra de amolar age sobre um sabre - eles adicionam agudeza ao conhecimento.



Stephen R. Covey chama isso de "afiar a serra" em seu livro The 7 Habits of Highly Effective People. Essa habilidade é seus recursos e meios pessoais. Ele apóia e desenvolve seu recurso mais valioso - você mesmo.



"Como você aprende coisas novas?" - a pergunta que costumo fazer aos candidatos nas entrevistas. A resposta é muito importante para mim, e aqui não basta ouvir sobre ler artigos, assistir vídeos no YouTube ou ouvir podcasts. Só os livros dão estrutura de conhecimento, sem interrupções e com contexto completo, levando o leitor à iluminação.



Parafraseando Anton Ptushkin, direi: "Leia, vale a pena!"



PS A lista de livros que discutimos hoje não afirma estar completa. Se você acha que existe um livro que não é menos digno de ocupar seu lugar no ranking, então convido você a fazer parte do fórum do Trello, onde nós - a comunidade russa de desenvolvedores Python - formamos nossa própria classificação de livros sobre desenvolvimento Python. Sinta-se em casa - vote em livros existentes, adicione novos livros ou categorias inteiras!



PPS Ainda tem dúvidas? Procure-me na web: slavabezborodov.com



All Articles