Python Escreva seus primeiros programas
Felipe CruzConteúdo
Existe um movimento na comunidade de programação que diz que você deve aprender uma nova linguagem por ano. Isso faz com que você estude novos conceitos e práticas, melhorando a forma como você trabalha no dia a dia. Mas qual será a sua próxima linguagem?
Python é a principal linguagem de programação utilizada no Google e repleta de funcionalidades interessantes. Neste livro, Felipe Cruz vai introduzi-lo ao Python 3, a versão mais atual, mostrando seu funcionamento, sintaxe, manipulação de arquivos, tratamento de exceções, estruturas de dados, a biblioteca padrão e tudo o que você precisa saber para começar a programar nessa linguagem.
Sumário
Parte 1 – Seus primeiros passos com o Python
- 1 Iniciando com Python
- 1.1 A linguagem Python
- 1.2 De Python 2 para Python 3
- 1.3 Diversos interpretadores e mesma linguagem
- 1.4 Preparando o ambiente
- 1.5 Primeiro passo: abra o interpretador
- 1.6 Primeiras explorações
- 1.7 Próximos passos
- 2 Aprendendo Python na prática: números e strings
- 2.1 Números
- 2.2 Como manipular texto em Python
- 2.3 Criando e manipulando texto: strings
- 2.4 Como Python representa strings internamente?
- 2.5 Conclusão
- 3 Manipulações básicas
- 3.1 Uma calculadora: o exemplo revisado mais comum
- 3.2 Pegando dados no terminal
- 3.3 Comparações: maior, menor, igual e outras
- 3.4 Condicionais: if, elif & else
- 3.5 Operadores lógicos
- 3.6 Loops com while
- 3.7 Primeira estrutura de dados: lista
- 3.8 Loop pythônico com for e listas
- 3.9 Percorrendo intervalos de zero até n com range()
- 3.10 Enumerando coleções com for e função enumerate
- 3.11 Declarando funções: comando def
- 3.12 Valores padronizados de argumentos
- 3.13 Parâmetros nomeados
- 3.14 Recebendo um número arbitrário de argumentos: packing & unpacking
- 3.15 Usando código já pronto: importando módulos
- 3.16 Conclusão
- 4 Primeiro programa: download de dados da Copa 2014
- 4.1 Criando uma função para download na web
- 4.2 Primeiro programa completo
- 4.3 Definindo funções main
- 4.4 Realizando o download
- 4.5 Mais do básico: extraindo arquivos de dados e metadados
- 4.6 Conclusão
- 5 Estruturas de dados
- 5.1 Montando um modelo conceitual usando estruturas de dados
- 5.2 Dicionários: fundação da linguagem
- 5.3 Montando o dicionário de metadados
- 5.4 Adicionando e removendo elementos em uma lista
- 5.5 Iterando dicionários: vendo valores e chaves
- 5.6 Tuplas: sequências imutáveis
- 5.7 Explorando os dados que coletamos
- 5.8 Exemplo final usando estruturas de dados para explorar os metadados
- 5.9 Estruturas de dados são importantes?
- 5.10 Conclusão
- 6 Classes e objetos pythônicos
- 6.1 Expressando o domínio em classes
- 6.2 Definindo classes: primeiro passo
- 6.3 Criando objetos: métodos construtores
- 6.4 Classes documentadas: docstrings
- 6.5 Métodos: adicionando comportamentos ao objeto
- 6.6 Herança simples em Python
- 6.7 Atributos de classes: compartilhados entre todas instâncias
- 6.8 Métodos estáticos e de classe: usando mais as classes
- 6.9 Encapsulamento pythônico com a função property
- 6.10 Herança múltipla: herdando de várias classes
- 6.11 O que é DuckTyping?
- 6.12 Conclusão
- 7 Tratando erros e exceções: tornando o código mais robusto
- 7.1 Escreveu errado? Erros de sintaxe
- 7.2 Como tornar o código mais robusto?
- 7.3 Tratando várias possíveis exceções em um mesmo bloco
- 7.4 Exceções e Python 3.3+
- 7.5 Executando código se nenhuma exceção for levantada
- 7.6 Ações de limpeza
- 7.7 Comando raise: levantando exceções
- 7.8 Exemplo de um tratamento de erros mais robusto em Python
- 7.9 Conclusão
- 8 Testes em Python: uma prática saudável
- 8.1 Criando o primeiro TestCase
- 8.2 Rodando um arquivo com testes
- 8.3 API de linha de comando para testes
- 8.4 API da biblioteca unittest
- 8.5 Customizando saída para HTML
- 8.6 Implementando um TestRunner customizado
- 8.7 Testando erros: quando o código joga exceções
- 8.8 Inicialização e finalização: setUp e tearDown
- 8.9 Ações de limpeza nos testes unitários: cleanup actions
- 8.10 Mocks/Stubs: outra abordagem de testes unitários
- 8.11 Conclusão
- 9 Módulos e pacotes: organizando e distribuindo código
- 9.1 Módulos em Python: primeiro passo
- 9.2 O que acontece quando importamos um módulo?
- 9.3 Pacotes: agrupando módulos
- 9.4 Definindo nomes para exportação e escopo de exportação
- 9.5 Conclusão
Parte 2 – Mundo Python – Além dos recursos fundamentais
- 10 Trabalhando com arquivos
- 10.1 Importando dados para as tabelas
- 10.2 Lendo arquivos
- 10.3 Fechando arquivos
- 10.4 Abrindo arquivos com o comando with
- 10.5 Escrevendo em arquivos
- 10.6 Navegação avançada com seek()
- 10.7 Conclusão
- 11 Um passeio por alguns tipos definidos na biblioteca padrão
- 11.1 Dinheiro e decimais com precisão arbitrária
- 11.2 Datas e tempo: módulo datetime
- 11.3 Conjuntos sem repetição: set()
- 11.4 Tuplas nomeadas: tuplas que parecem objetos com atributos
- 11.5 Conclusão
- 12 Conceitos e padrões da linguagem
- 12.1 Iteráveis e por que o comando for funciona?
- 12.2 Objetos chamáveis: callables()
- 12.3 Protocolos abstratos: como comportamentos padronizados funcionam
- 12.4 Closures em Python
- 12.5 Conclusão
- 13 Elementos com sintaxe específica
- 13.1 List comprehensions
- 13.2 Dicts comprehensions
- 13.3 Decoradores de função: @decorators
- 13.4 Funções anônimas: lambdas
- 13.5 Funções geradoras
- 13.6 Palavra reservada nonlocal
- 13.7 Conclusão
- 14 Explorando a flexibilidade do modelo de objetos
- 14.1 Construtures: criando objetos
- 14.2 Representação textual de objetos: função print(), str() e repr()
- 14.3 Comparando igualdade de objetos
- 14.4 Outros tipos de comparações binárias
- 14.5 Dicionário interno de atributos
- 14.6 Interceptando o acesso a atributos
- 14.7 Protocolos e métodos especiais
- 14.8 Protocolo de container
- 14.9 Protocolo de containers com tamanho definido
- 14.10 Protocolo de iteráveis e iteradores
- 14.11 Protocolo de sequências
- 14.12 Protocolo de mapas
- 14.13 Protocolos numéricos
- 14.14 O que mais ver sobre classes e modelo de objetos?
- 14.15 Conclusão
- 15 Desenvolvimento profissional
- 15.1 Pacotes instaláveis e seu repositório central
- 15.2 Dependências e gerenciador de pacotes
- 15.3 Descrevendo um pacote instalável com setuptools
- 15.4 Instalando pacotes com pip
- 15.5 Ambientes virtuais com venv
- 15.6 Resumo
- 16 Considerações finais
- 16.1 Nunca pare!
- 16.2 Aprendi tudo?
- 16.3 Comunidade Python
- 16.4 Para onde ir?
- 17 Referências bibliográficas
Autor
Felipe Cruz
Felipe Cruz é desenvolvedor de software há 10 anos. Trabalhou no mercado corporativo e de startups e recentemente atua como Cientista de Dados, área onde reencontrou sua paixão pela construção de software. Mestrando em Computação pela PUC-Rio, também estuda Aprendizado de Máquinas e atualmente busca novas formas de resolver o problema da recomendação e o aprendizado não supervisionado de atributos. Pythonista há 6 anos, palestrante e participante de diversas Python Brasil, sempre buscou compartilhar conhecimento e aprender cada vez mais sobre a linguagem e o ecossistema ao longo desses anos.
Dados do produto
- Número de páginas:
- 269
- ISBN:
- 978-85-5519-091-9
- Data publicação:
- 09/2015