luiz eduardo borges - novatec editora5 sumário agradecimentos..... 11 sobre o autor ..... 12

7
Novatec Luiz Eduardo Borges

Upload: others

Post on 27-Mar-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Luiz Eduardo Borges - Novatec Editora5 Sumário Agradecimentos..... 11 Sobre o autor ..... 12

Novatec

Luiz Eduardo Borges

Page 2: Luiz Eduardo Borges - Novatec Editora5 Sumário Agradecimentos..... 11 Sobre o autor ..... 12

Copyright © 2014 da Novatec Editora Ltda.

Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998.É proibida a reprodução desta obra, mesmo parcial, por qualquer processo, sem prévia autorização, por escrito, do autor e da Editora.

Editor: Rubens PratesRevisão gramatical: Marta Almeida de SáEditoração eletrônica: Carolina Kuwabata

ISBN: 978-85-7522-405-2 MP20141001

Histórico de impressões:

Outubro/2014 Primeira edição

Novatec Editora Ltda.Rua Luís Antônio dos Santos 11002460-000 – São Paulo, SP – BrasilTel.: +55 11 2959-6529E-mail: [email protected]: www.novatec.com.brTwitter: twitter.com/novateceditoraFacebook: facebook.com/novatecLinkedIn: linkedin.com/in/novatec

Page 3: Luiz Eduardo Borges - Novatec Editora5 Sumário Agradecimentos..... 11 Sobre o autor ..... 12

5

Sumário

Agradecimentos .................................................................................................11

Sobre o autor .....................................................................................................12

Prefácio .............................................................................................................13

Capítulo 1 ■ Introdução ......................................................................................14Características ............................................................................. 14Histórico .....................................................................................15Versões ........................................................................................15Executando programas ................................................................16Tipagem dinâmica ....................................................................... 17Compilação e interpretação ......................................................... 17Modo interativo ...........................................................................18Ferramentas ................................................................................ 19Cultura ....................................................................................... 21

Capítulo 2 ■ Conceitos básicos .............................................................................22Sintaxe ........................................................................................22Blocos .........................................................................................23Objetos .......................................................................................25Controle de fluxo .........................................................................25Laços ..........................................................................................27

For .........................................................................................27While .....................................................................................29

Capítulo 3 ■ Tipos de variáveis ............................................................................30Números ..................................................................................... 31Texto ...........................................................................................34Listas ..........................................................................................40Tuplas .........................................................................................42Outros tipos de sequências ..........................................................44

Page 4: Luiz Eduardo Borges - Novatec Editora5 Sumário Agradecimentos..... 11 Sobre o autor ..... 12

Python para Desenvolvedores6

Dicionários ................................................................................ 46Verdadeiro, falso e nulo ................................................................50

Operadores booleanos ............................................................50

Capítulo 4 ■ Funções ...........................................................................................52

Capítulo 5 ■ Documentação ................................................................................58

Capítulo 6 ■ Módulos ..........................................................................................60Escopo de nomes .........................................................................63Pacotes ........................................................................................65

Capítulo 7 ■ Biblioteca-padrão ............................................................................67Matemática .................................................................................67Arquivos e I/O ............................................................................70

Sistemas de arquivo ................................................................72Arquivos temporários .............................................................73Arquivos compactados ............................................................ 74Arquivos de dados ..................................................................75

Sistema operacional .....................................................................76Tempo.........................................................................................78Expressões regulares .................................................................... 81

Capítulo 8 ■ Bibliotecas de terceiros ....................................................................83

Capítulo 9 ■ Exceções ..........................................................................................85

Capítulo 10 ■ Introspecção ..................................................................................89Inspect ........................................................................................ 91

Capítulo 11 ■ Geradores ......................................................................................92

Capítulo 12 ■ Programação funcional ..................................................................95Lambda ......................................................................................95Mapeamento ...............................................................................96Filtragem .....................................................................................97Redução ......................................................................................98Transposição ...............................................................................99List Comprehension ..................................................................100Dictionary Comprehension .........................................................101Generator Expression ................................................................ 102

Page 5: Luiz Eduardo Borges - Novatec Editora5 Sumário Agradecimentos..... 11 Sobre o autor ..... 12

7Sumário

Capítulo 13 ■ Decoradores ................................................................................103

Capítulo 14 ■ Classes ........................................................................................107Classes abertas ...........................................................................113Herança simples .........................................................................114Herança múltipla ........................................................................116Propriedades ..............................................................................119Descritores ................................................................................ 122Sobrecarga de operadores ........................................................... 124Coleções ................................................................................... 125Metaclasses ............................................................................... 130Classes-base abstratas ................................................................ 133Decoradores de classe ................................................................ 134

Capítulo 15 ■ Testes automatizados ..................................................................136

Capítulo 16 ■ Threads .......................................................................................141

Capítulo 17 ■ Armazenamento de dados ...........................................................145Serialização ............................................................................... 145YAML ....................................................................................... 146JSON ........................................................................................ 149XML ......................................................................................... 149

DOM ....................................................................................151SAX ..................................................................................... 152ElementTree ......................................................................... 154

Banco de dados ......................................................................... 155DBI ........................................................................................... 156MySQL ..................................................................................... 157SQLite ...................................................................................... 158Firebird .....................................................................................160PostgreSQL ................................................................................161Mapeamento objeto-relacional ................................................... 164NoSQL...................................................................................... 167

Capítulo 18 ■ Aplicações web ............................................................................171Cliente web ............................................................................... 173Framework Pyramid ...................................................................174

Page 6: Luiz Eduardo Borges - Novatec Editora5 Sumário Agradecimentos..... 11 Sobre o autor ..... 12

Python para Desenvolvedores8

Capítulo 19 ■ Processamento numérico .............................................................180NumPy ..................................................................................... 180

Arranjos ............................................................................... 180Matrizes ............................................................................... 183

SciPy ......................................................................................... 185Matplotlib ................................................................................. 187

Capítulo 20 ■ Interface gráfica ..........................................................................195Arquitetura ............................................................................... 195PyQt ......................................................................................... 197

Capítulo 21 ■ Computação gráfica .....................................................................204Matrizes versus vetores ...............................................................205Processamento de imagem .........................................................207SVG .......................................................................................... 213Imagens em três dimensões .........................................................217

VPython ................................................................................219PyOpenGL ...........................................................................226

capítulo 22 ■ Processamento distribuído ...........................................................233Objetos distribuídos .................................................................. 235

Capítulo 23 ■ IPython .......................................................................................238

Capítulo 24 ■ Plataformas portáteis ..................................................................240Kivy ..........................................................................................240

Capítulo 25 ■ Dependências ..............................................................................255Ambiente virtuais ...................................................................... 255Empacotamento e distribuição ...................................................256

Capítulo 26 ■ Desempenho ...............................................................................258

Apêndice A ■ Integração com aplicativos ...........................................................266Blender .....................................................................................266

Game engine ........................................................................ 271LibreOffice ................................................................................ 273Excel .........................................................................................277

Page 7: Luiz Eduardo Borges - Novatec Editora5 Sumário Agradecimentos..... 11 Sobre o autor ..... 12

9Sumário

Apêndice B ■ Integração com outras linguagens ................................................282Bibliotecas compartilhadas ........................................................282

Apêndice C ■ Exercícios propostos .....................................................................284Primeira lista de exercícios (Capítulos 1 a 5) ..............................284Segunda lista de exercícios (Capítulos 6 a 11) ..............................285Terceira lista de exercícios (Capítulos 12 a 14) ..............................286Quarta lista de exercícios (Capítulos 15 a 18) ..............................286Quinta lista de exercícios (Capítulos 19 a 22) ..............................287Sexta lista de exercícios (Capítulos 23 a 31) .................................288

Apêndice D ■ Respostas dos exercícios ...............................................................289Respostas da primeira lista de exercícios .....................................289Respostas da segunda lista de exercícios .....................................293Respostas da terceira lista de exercícios .......................................299Respostas da quarta lista de exercícios ........................................ 301Respostas da quinta lista de exercícios ........................................308Respostas da sexta lista de exercícios ...........................................312

Índice remissivo ...............................................................................................315