luiz eduardo borges - novatec editora5 sumário agradecimentos..... 11 sobre o autor ..... 12
TRANSCRIPT
Novatec
Luiz Eduardo Borges
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
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
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
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
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
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