View on GitHub

Python para Desenvolvedores

2ª edição, revisada e ampliada.

Download this project as a .zip file Download this project as a tar.gz file

Atualização: 3ª edição do livro Python para Desenvolvedores

Em Outubro de 2014, a editora Novatec lançou uma edição atualizada do livro Python para Desenvolvedores focado em Python 3 (versão 3.3), com conteúdo novo e com todos os exemplos de código atualizados.

É uma excelente opção para quem deseja ter uma cópia física desse ótimo livro. Segue abaixo os links para a compra:

Introdução

Este livro é voltado para quem já possui conhecimento de programação. Ele aborda assuntos que incluem: criação de interfaces com usuário, computação gráfica, aplicações para internet, sistemas distribuídos, entre outros assuntos.

Prefácio da 1ª edição

As linguagens dinâmicas eram vistas no passado apenas como linguagens script, usadas para automatizar pequenas tarefas, porém, com o passar do tempo, elas cresceram, amadureceram e conquistaram seu espaço no mercado, a ponto de chamar a atenção dos grandes fornecedores de tecnologia.

Vários fatores contribuíram para esta mudança, tais como a internet, o software de código aberto e as metodologias ágeis de desenvolvimento.

A internet viabilizou o compartilhamento de informações de uma forma sem precedentes na história, que tornou possível o crescimento do software de código aberto. As linguagens dinâmicas geralmente são código aberto e compartilham as mesmas funcionalidades e em alguns casos, os mesmos objetivos.

A produtividade e expressividade das linguagens dinâmicas se encaixam perfeitamente com as metodologias ágeis, que nasceram do desenvolvimento de software de código aberto e defendem um enfoque mais pragmático no processo de criação e manutenção de software do que as metodologias mais tradicionais.

Entre as linguagens dinâmicas, o Python se destaca como uma das mais populares e poderosas. Existe uma comunidade movimentada de usuários da linguagem no mundo, o que se reflete em listas ativas de discussão e muitas ferramentas disponíveis em código aberto.

Aprender uma nova linguagem de programação significa aprender a pensar de outra forma. E aprender uma linguagem dinâmica representa uma mudança de paradigma ainda mais forte para aquelas pessoas que passaram anos desenvolvendo em linguagens estáticas.

Prefácio da 2ª edição

Revisada e ampliada, esta edição traz algumas novidades, como a inclusão de vários recursos interessantes que foram incorporados na versão 2.6 do Python.

Vários assuntos já abordados na edição anterior foram expandidos, incluindo: orientação a objetos, rotinas matemáticas, interface gráfica, computação gráfica, acesso a bancos de dados e integração com aplicativos de código aberto.

Além disso, a formatação passou por algumas mudanças, visando facilitar a leitura em monitores e a impressão.

Entretanto, a maior parte das mudanças vieram com a revisão do texto, que agora se tornou compatível com a nova ortografia, tarefa facilitada pelo uso do BrOffice.org e suas ferramentas. Várias partes do texto foram ampliadas, capítulos mudaram de ordem, novos exemplos e diagramas foram acrescentados, com o objetivo de melhorar o encadeamento dos assuntos abordados.

Conteúdo

Os capítulos abaixo são renderizados através do nbviewer, eles são somente-leitura e renderizados em tempo real. Para alterar qualquer parte do conteúdo, basta clonar esse projeto no Github.

Parte I


Esta parte trata de conceitos básicos sobre a linguagem de programação Python, incluindo sintaxe, tipos, estruturas de controle, funções e documentação.

Parte II


Esta parte trata de módulos e pacotes, destacando alguns dos mais relevantes que estão presentes na biblioteca padrão da linguagem, instalação de bibliotecas de terceiros, exceções e introspecção.

Parte III


Esta parte é dividida em dois assuntos: geradores, uma tecnologia cada vez mais presente na linguagem, e programação funcional.

Parte IV


Esta parte se concentra principalmente na orientação a objetos, e também aborda decoradores e testes automatizados.

Parte V


Esta parte cobre diversas tecnologias que os aplicativos hoje tem a disposição: principalmente para lidar com armazenamento e troca de informações: acesso a banco de dados, persistência, XML e Web. Além desses tópicos, temos o uso de threads e a arquitetura MVC.

Parte VI


Esta parte apresenta algumas funcionalidades dos pacotes NumPy, SciPy e Matplolib, e também de conhecidos toolkits para interfaces gráficas. Além disso, uma breve introdução a computação gráfica e processamento distribuído. E por fim, observações sobre performance no Python e formas de empacotar e distribuir aplicativos.

Apêndice


Esta parte se concentra em outras tecnologias que tem de conviver com o Python de diversas formas. E ao final, as respostas dos exercícios propostos nas partes anteriores.

Licença

Este trabalho está licenciado sob uma licença Creative Commons Atribuição - Uso Não Comercial - Compartilhamento pela mesma licença. Para ver uma cópia dessa licença, visite http://creativecommons.org/licenses/by-nc-sa/3.0/br/ ou envie uma carta para Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA.

Agradecimentos

Gostaria de agradecer a minha esposa e aos meus pais, pela paciência que tiveram durante o processo de criação desta obra.

Além deles, gostaria de agradecer a todos que apoiaram e ajudaram a divulgar o livro.

Sobre o autor

Luiz Eduardo Borges é engenheiro e analista de sistemas, com pós-graduação em Computação Gráfica pela Universidade do Estado do Rio de Janeiro (UERJ). Atua a quase duas décadas na área de informática, sob diversas formas.

Usando o livro

Este livro pode ser lido de 3 maneiras diferentes:

  1. A primeira maneira é a mais interativa de todas. Nela você tem de clonar o repositório do livro para fazer o download de todos os arquivos .ipynb para a sua máquina local. Se você tiver o IPython instalado, você poderá então visualizar todos os capítulos no seu navegador e rodar os códigos de exemplo. Esta é uma das melhores maneiras de maximizar o seu aprendizado, porém algumas dependências terão de ser instaladas na sua máquina.
  2. A segunda maneira é usar o site nbviewer que apresenta os IPython Notebooks direto no seu navegador. O conteúdo é atualizado de acordo com as atualizações do repositório. Para acessar os capítulos, use os links da seção Conteúdo acima.
  3. A terceira maneira é através do download do arquivo PDF do livro. Lembre-se porém que PDFs são estáticos e portanto não são interativos.