BOOK - Programming in Python 3 - PRODUTO FINAL - 23-07

Propaganda
Sumário
Introdução
Capítulo 1. Rápida Introdução à Programação Procedural
Criando e Executando Programas Python
O “Lindo Coração” do Python
Parte #1: Tipos de Dados
Parte #2: Referência de Objeto
Parte #3: Tipos de Dados de Coleção
Parte #4: Operações Lógicas
Parte #5: Comandos de Controle de Fluxo Parte #6: Operadores Aritméticos
Parte #7: Entrada/Saída
Parte #8: Criando e Chamando Funções
Exemplos
bigdigits.py
generate_grid.py
Sumário
Exercícios
7
7
12
12
14
16
19
23
28
31
34
36
36
39
42
44
Capítulo 2. Tipos de Dados
Identificadores e Palavras-Chave
Tipos Integrais
Inteiros
Booleanos
Tipos de Ponto-Flutuante
Números de Ponto-Flutuante
Números Complexos
Números Decimais
Strings
Comparando Strings
Fatiamento e percorrimento de strings
Operadores e métodos de String
47
47
50
51
53
54
55
58
59
61
63
64
67
1
vii
BOOK - Programming in Python 3 - PRODUTO FINAL - 23-07-12.indb 7
17/04/2013 09:49:16
Formatando Strings com o Método str.format()
Codificação de Caracteres
Exemplos
quadratic.py
csv2html.py
Sumário
Exercícios
74
85
88
88
90
95
97
Capítulo 3. Tipos de Dados de Coleção
Tipos Sequenciais
Tuplas
Tuplas Nomeadas
Listas
Tipos de Conjunto
Conjuntos
Conjuntos Congelados
Tipos de Mapeamento
Dicionários
Dicionários Padrão
Iterando, Copiando Coleções
Iteradores, Operações Iteráveis e Funções
Copiando Coleções
Exemplos
generate_usernames.py
statistics.py
Sumário
Exercícios
99
99
100
103
104
112
112
116
117
118
126
127
128
136
138
138
142
146
147
Capítulo 4. Estrutura de Controle e Funções
Estruturas de Controle
Ramificações Condicionais
Loops
Manipulação de Exceções
Capturando e Lançando Exceções
Exceções Personalizadas
Funções Personalizadas
Nomes e Docstrings
Desempacotamento Argumentos e Parâmetros
Acessando Variáveis no Escopo Global
149
149
149
151
153
153
158
161
166
167
170
viii
BOOK - Programming in Python 3 - PRODUTO FINAL - 23-07-12.indb 8
17/04/2013 09:49:17
Funções Lambda
Asserções
Exemplo: make_html_skeleton.py
Sumário
Exercícios
172
173
175
181
182
Capítulo 5. Módulos
Módulos e Pacotes
Pacotes
Módulos Personalizados
Visão Geral da Biblioteca Padrão do Python
Manipulação de String
Programando em Linha de Comando
Matemática e Números
Hora e Data
Algoritmos e Tipos de Dados de Coleção
Formatos de Arquivos, Codificação e Persistência de dados
Arquivo, Diretório e Manipulação de Processo
Programação na Internet e em Redes de Comunicação
XML
Outros Módulos
Sumário
Exercício
185
185
189
192
202
202
204
205
205
207
208
211
214
216
217
219
220
Capítulo 6. Programação Orientada a Objeto
Abordagem da Programação Orientada a Objeto
Terminologia e Conceitos sobre Orientação a Objeto
Classes Personalizadas
Atributos e Métodos
Herança e Polimorfismo
Utilizando Propriedades para Controlar o
Acesso aos Atributos
Criando Tipos de Dados Completos e
Totalmente Integrados
Classes de Coleção Personalizadas
Criando Classes que Agregam Coleções
Criando Classes de Coleção Utilizando Agregação
Criando Classes de Coleção Utilizando Herança
Sumário
Exercícios
223
224
225
228
228
233
236
238
251
251
258
265
272
274
ix
BOOK - Programming in Python 3 - PRODUTO FINAL - 23-07-12.indb 9
17/04/2013 09:49:17
Capítulo 7. Manipulação de Arquivos Escrevendo e Lendo Dados Binários
Pickles com Compressão Opcional
Dados Binários Brutos com Compressão Opcional
Escrevendo e Analisando Arquivos de Texto
Escrevendo Texto
Analisando Textos
Analisando Textos Utilizando Expressões Regulares
Escrevendo e Analisando Arquivos XML
Árvores de Elementos
DOM (Documento de Modelo de Objeto)
Escrevendo XML Manualmente
Analisando XML com SAX (API Simples para XML)
Acesso Aleatório a Arquivos Binários
Uma Classe Genérica de Arquivo de Registro Binário
Exemplo: O Módulo de Classe BikeStock
Sumário
Exercícios
277
282
282
285
294
295
296
299
302
302
306
309
310
313
314
322
326
327
Capítulo 8. Técnicas de Programação Avançada
Aprofundamento em Programação Procedural
Utilizando Desvios com Dicionários
Expressões Gerador e Funções
Execução Dinâmica de Código e Importações Dinâmicas
Funções Locais e Recursivas
Decoradores de Funções e Métodos
Anotações de Funções
Aprofundamento em Programação Orientada a Objeto
Controlando o Acesso aos Atributos
Functors
Gerenciador de Contexto
Descritores
Decoradores de Classe
Classes Base Abstrata
Herança Múltipla
Metaclasses
329
330
330
331
334
341
346
350
353
353
357
359
362
367
370
377
380
x
BOOK - Programming in Python 3 - PRODUTO FINAL - 23-07-12.indb 10
17/04/2013 09:49:17
Programação de Estilo Funcional
Aplicação Parcial de Funções
Exemplo: Valid.py
Sumário
Exercícios
Capítulo 9. Processos e Threads
Delegando Tarefas para Processos
Delegando Tarefa com Threads
Exemplo: Um Programa que Procura Palavra com Thread
Exemplo: Programa que Encontra Arquivos
Duplicados com Thread
Sumário
Exercícios
384
387
388
390
392
395
396
400
401
404
409
410
Capítulo 10. Redes de Comunicação
Criando um Cliente TCP
Criando um Servidor TCP
Sumário
Exercícios
413
414
420
427
427
Capítulo 11. Programação com Banco de Dados
Bancos de Dados DBM
Bancos de Dados SQL
Sumário
Exercícios
431
432
436
443
444
Capítulo 12. Expressões Regulares
Linguagem da Expressão Regular do Python
Caracteres e Classes de Caracteres
Quantificadores
Agrupando e Capturando
Asserções e Sinalizadores
O Módulo de Expressão Regular
Sumário
Exercícios
445
446
446
447
450
451
455
464
465
xi
BOOK - Programming in Python 3 - PRODUTO FINAL - 23-07-12.indb 11
17/04/2013 09:49:18
Capítulo 13. Introdução à Programação GUI
Programas em Estilo de Diálogo
Programas em Estilo Janela-Principal
Criando uma Janela Principal
Criando um Diálogo Personalizado
Sumário
Exercícios
467
470
476
477
488
491
491
Epílogo
493
Índice
495
xii
BOOK - Programming in Python 3 - PRODUTO FINAL - 23-07-12.indb 12
17/04/2013 09:49:18
Lista de Tabelas
2.1. Palavras Reservadas do Python
48
2.2. Operadores Numéricos e Funções
52
2.3. Funções de Conversão de Inteiros
52
2.4. Operadores Inteiros Bitwise
53
2.5. As Funções e Constantes do Módulo Math #1
56
2.6. As Funções e Constantes do Módulo Math #2
57
2.7. Escapes de Strings do Python
62
2.8. Métodos de Strings #1
68
2.9. Métodos de Strings #2
69
2.10.
70
Métodos de Strings #3
3.1. Métodos de Listas
106
3.2. Operadores e Métodos de Conjuntos
115
3.3. Métodos de Dicionário
120
3.4. Operadores e Funções Iteráveis Comuns
130
6.1. Métodos Especiais de Comparação
232
6.2. Métodos Especiais Fundamentais
240
6.3. Métodos Especiais Numéricos e Bitwise
243
6.4. Métodos Especiais de Coleções
255
7.1. Métodos Bytes e Bytearray #1
288
7.2. Métodos Bytes e Bytearray #2
289
7.3
Métodos Bytes e Bytearray #3
290
7.4
Métodos e Atributos de Objetos Arquivo ou File #1
316
7.5. Métodos e Atributos de Objetos Arquivo ou File #2
317
8.1. Programação Dinâmica e Funções de Introspecção
339
8.2. Métodos Especiais de Acesso a Atributos
355
8.3. Módulos Númericos de Base Abstrata
371
8.4. As Principais Classes de Base Abstrata do Módulo Collection
373
11.1.
Métodos do Objeto de Conexão
437
11.2.
Métodos e Atributos do Objeto Cursor DB-API 2.0
439
12.1.
Símbolos da Classe de Caracteres
447
xiii
BOOK - Programming in Python 3 - PRODUTO FINAL - 23-07-12.indb 13
17/04/2013 09:49:18
Download