Aprendendo Python

Iniciante

O Tutorial Python

Este é o tutorial oficial. Ele cobre toda a parte básica e oferece um tour da linguagem e da biblioteca principal. Recomendado para aqueles que necessitam de um guia de iniciação rápida para a linguagem.

Python para iniciantes

thepythonguru.com é um tutorial voltado para programadores iniciantes. Ele cobre muitos conceitos de python a fundo. Ele também ensina a você algumas construções avançadas em python como a expressão lambda, expressão regular. Ao final, é encerrado com o tutorial ” Como acessar o MySQL db usando python “

Tutorial Interativo Learn Python

learnpython.org é um modo fácil e não intimidador de ser introduzido ao Python. O site toma a mesma aproximação utilizada no popular website Try Ruby, possui um interpretador interativo de Python dentro do próprio website que permite a você avançar pelas lições sem ter o Python instalado localmente.

Se você quer um livro mais tradicional, Python For You and Me é um excelente recurso para aprender todos os aspectos da linguagem.

Python Tutor Online

O Tutor Python Online dá a você uma representação visual do passo a passo de como o seu programa roda. O Python Tutor ajuda pessoas a superar uma barreira fundamental no aprendizado da programação através do entendimento do que acontece quando o computador executa cada linha do código fonte de um programa.

Invente Seus Próprios Jogos de Computador com Python

Esse livro de iniciantes é para aqueles sem nenhuma experiência com programação. Cada capítulo possui o código fonte de um pequeno jogo, utilizando esses programas de exemplo para demonstrar conceitos de programação, dando ao leitor uma ideia do que um programa “parece”.

Hackeando Cifras Secretas com Python

Este livro ensina programação em Python e criptografia básica para iniciantes completos. Os capítulos disponibilizam o código fonte de várias cifras, assim como os programas que podem quebrá-las.

Aprenda Python da Maneira Mais Difícil

Esse é um excelente guia de programação para iniciantes em Python. Ele cobre o “hello world” do console até a web.

Mergulhando em Python

Também conhecido como Python para Programadores com 3 horas, esse guia dá a desenvolvedores experientes com outras linguagens um curso intensivo de Python.

Mergulhando em Python 3

Mergulhando em Python 3 é um bom livro para aqueles prontos para pular pra dentro do Python 3. É uma boa leitura se você está mudando de Python 2 para 3 ou se você já tem alguma experiência em programação com outra linguagem.

Pense Python: Como Pensar como um Cientista da Computação

Pense Python tenta dar uma introdução a conceitos básicos de ciência da computação através do uso da linguagem Python. O foco era criar um livro com muitos exercícios, jargão mínimo e uma seção em cada capítulo devotada ao objeto de depuração.

Enquanto explora as várias características disponíveis na linguagem Python, o autor entrelaça vários padrões de projeto e boas práticas.

O livro também inclui muitos estudos de caso que fazem com que o leitor explore os tópicos discutidos no livro em grandes detalhes, através da aplicação desses tópicos a exemplos do mundo real. Os estudos de caso incluem atribuições em GUI e Análise de Markov.

Python Koans

O Python Koans é uma adaptação do Ruby Koans, do Edgecase. Ele usa uma lógica baseada em testes, vulgo TEST DRIVEN DESIGN SECTION* para prover um tutorial interativo ensinando conceitos básicos de Python. Arrumando declarações de asserções erradas que falham em um código teste, ele provê passos sequenciais para aprender Python.

Para aqueles acostumados a linguagens e a descobrir puzzles por conta própria, pode ser uma opção atrativa e divertida. Para aqueles novos em Python e em programação, ter um recurso ou referência adicional será útil.

Mais informações sobre desenvolvimento orientado a testes podem ser encontrados nesses recursos:

Um Byte de Python

Um livro grátis introdutório que ensina Python em um nível iniciante, sem que nenhuma experiência anterior em programação seja necessária.

Aprenda a Programar Python com Codeacademy

Um curso na Codeacademy para o iniciante completo em Python. Esse curso grátis e interativo disponibiliza e ensina o básico (e além) da programação em Python, enquanto testa o conhecimento do usuário durante o progresso. Esse curso também possui um interpretador interno para o recebimento instantâneo do feedback no seu aprendizado

Intermediário

Python Efetivo

Esse livro contém 59 caminhos específicos para melhorar a escrita de códigos Pythonicos. Com 227 páginas, dá uma breve visão geral de algumas das adaptações mais comuns que programadores precisam fazer para se tornarem eficientes programadores Python de nível intermediário.

Avançado

Pro Python

Esse livro é indicado para programadores em Python intermediários ou avançados, que estão procurando entender como e porque Python funciona da maneira que funciona, e como levar seus códigos para um proximo nível.

Programação em Python Expert

Programação em Python Expert lida com melhores práticas de programação em Python e tem seu foco no público mais avançado.

Ele começa com tópicos como decoradores (com caching, proxy, e estudos de caso de gerenciamento de contexto), ordem de resolução de métodos, usando super() e meta-programação, e práticas gerais PEP 8.

Ele possui um estudo de caso multi-capítulo detalhado sobre a escrita e disponibilização de um pacote e, eventualmente, uma aplicação, incluindo um capítulo sobre como utilizar a zc.buildout. Os últimos capítulos detalham boas práticas como a escrita de documentação, desenvolvimento orientado a testes, controle de versão, otimização e profiling.

Um Guia para os Métodos Mágicos de Python

Essa é uma coleção de posts de blog escrita por Rafe Kettler que explicam os “métodos mágicos” em Python. Métodos mágicos são acompanhados de dois underlines (ex: __init__) e podem fazer classes e objetos se comportarem de maneira mágica.

Nota

The Rafekettler.com is currently down, you can go to their Github version directly. Here you can find a PDF version: A Guide to Python’s Magic Methods (repo on GitHub)

Para engenheiros e cientistas

A Primer on Scientific Programming with Python

A Primer on Scientific Programming with Python*, escrita por Hans Petter Langtangen, cobre majoritariamente a utilização de Python no meio científico. No livro, exemplos são escolhidos das ciências naturais e exatas.

Numerical Methods in Engineering with Python

Numerical Methods in Engineering with Python*, escrito por Jaan Klusalaas, enfatiza nos métodos numéricos e em como implementa-los no Python.

Tópicos genéricos

Problem Solving with Algorithms and Data Structures

Problem Solving with Algorithms and Data Structures* cobre uma gama de estruturas de dados e algorítimos. Todos os conceitos são ilustrados com código Python, utilizando exemplos interativos que podem ser executados diretamente do navegador.

Programming Collective Intelligence

Programming Collective Intelligence introduces a wide array of basic machine learning and data mining methods. The exposition is not very mathematically formal, but rather focuses on explaining the underlying intuition and shows how to implement the algorithms in Python.

Transforming Code into Beautiful, Idiomatic Python

Transforming Code into Beautiful, Idiomatic Python is a video by Raymond Hettinger. Learn to take better advantage of Python’s best features and improve existing code through a series of code transformations, “When you see this, do that instead.”

Fullstack Python

Fullstack Python offers a complete top-to-bottom resource for web development using Python.

From setting up the webserver, to designing the front-end, choosing a database, optimizing/scaling, etc.

As the name suggests, it covers everything you need to build and run a complete web app from scratch.

References

Python in a Nutshell

Python in a Nutshell, written by Alex Martelli, covers most cross-platform Python’s usage, from its syntax to built-in libraries to advanced topics such as writing C extensions.

The Python Language Reference

This is Python’s reference manual, it covers the syntax and the core semantics of the language.

Python Essential Reference

Python Essential Reference, written by David Beazley, is the definitive reference guide to Python. It concisely explains both the core language and the most essential parts of the standard library. It covers Python 3 and 2.6 versions.

Python Pocket Reference

Python Pocket Reference, written by Mark Lutz, is an easy to use reference to the core language, with descriptions of commonly used modules and toolkits. It covers Python 3 and 2.6 versions.

Python Cookbook

Python Cookbook, written by David Beazley and Brian K. Jones, is packed with practical recipes. This book covers the core python language as well as tasks common to a wide variety of application domains.

Writing Idiomatic Python

“Writing Idiomatic Python”, written by Jeff Knupp, contains the most common and important Python idioms in a format that maximizes identification and understanding. Each idiom is presented as a recommendation of a way to write some commonly used piece of code, followed by an explanation of why the idiom is important. It also contains two code samples for each idiom: the “Harmful” way to write it and the “Idiomatic” way.