Guia completo de python

Download Guia completo de python

Post on 18-Dec-2014

561 views

Category:

Documents

2 download

Embed Size (px)

DESCRIPTION

 

TRANSCRIPT

<ul><li> 1. Aprenda Computao com Python Documentation Verso 1.1 Allen Downey, Jeff Elkner and Chris Meyers 12/08/2010 </li> <li> 2. Contedo 1 Prefcio 1.1 Como e porque eu vim a usar Python . 1.2 Encontrando um livro-texto . . . . . . 1.3 Introduzindo programao com Python 1.4 Construindo uma comunidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 4 4 6 2 Apresentao 3 Captulo 1: O caminho do programa 3.1 1.1 A linguagem de programao Python . . 3.2 1.2 O que um programa? . . . . . . . . . . 3.3 1.3 O que depurao (debugging)? . . . . . 3.4 1.4 Linguagens naturais e linguagens formais 3.5 1.5 O primeiro programa . . . . . . . . . . . 3.6 1.6 Glossrio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 9 11 11 13 14 14 Captulo 2: Variveis, expresses e comandos 4.1 2.1 Valores e tipos . . . . . . . . . . . . . . 4.2 2.2 Variveis . . . . . . . . . . . . . . . . . 4.3 2.3 Nomes de variveis e palavras reservadas 4.4 2.4 Comandos . . . . . . . . . . . . . . . . 4.5 2.5 Avaliando expresses . . . . . . . . . . . 4.6 2.6 Operadores e operandos . . . . . . . . . 4.7 2.7 Ordem dos operadores . . . . . . . . . . 4.8 2.8 Operaes com strings . . . . . . . . . . 4.9 2.9 Composio . . . . . . . . . . . . . . . 4.10 2.11 Glossrio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 17 18 19 20 20 21 22 22 23 23 Captulo 3: Funes 5.1 3.1 Chamadas de funes 5.2 3.2 Converso entre tipos 5.3 3.3 Coero entre tipos . . 5.4 3.4 Funes matemticas . 5.5 3.5 Composio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 25 26 26 27 28 4 5 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i </li> <li> 3. 5.6 5.7 5.8 5.9 5.10 5.11 5.12 5.13 6 7 8 9 ii 3.6 Adicionando novas funes . . . 3.7 Denies e uso . . . . . . . . . 3.8 Fluxo de execuo . . . . . . . . 3.9 Parmetros e argumentos . . . . . 3.10 Variveis e parmetros so locais 3.11 Diagramas da pilha . . . . . . . 3.12 Funes com resultados . . . . . 3.13 Glossrio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 29 30 30 31 32 33 33 Captulo 4: Condicionais e recursividade 6.1 4.1 O operador mdulo . . . . . . . . . . . . . . 6.2 4.2 Expresses booleanas . . . . . . . . . . . . 6.3 4.3 Operadores lgicos . . . . . . . . . . . . . . 6.4 4.4 Execuo condicional . . . . . . . . . . . . 6.5 4.5 Execuo alternativa . . . . . . . . . . . . . 6.6 4.6 Condicionais encadeados . . . . . . . . . . . 6.7 4.7 Condicionais aninhados . . . . . . . . . . . 6.8 4.8 A instruo return . . . . . . . . . . . . . 6.9 4.9 Recursividade . . . . . . . . . . . . . . . . 6.10 4.10 Diagramas de pilha para funes recursivas 6.11 4.11 Recursividade innita . . . . . . . . . . . . 6.12 4.12 Entrada pelo teclado . . . . . . . . . . . . 6.13 4.13 Glossrio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 35 36 36 37 37 38 38 39 39 40 41 42 42 Captulo 5: Funes frutferas 7.1 5.1 Valores de retorno . . . . . . . . 7.2 5.2 Desenvolvimento de programas . 7.3 5.3 Composio . . . . . . . . . . . 7.4 5.4 Funes booleanas . . . . . . . . 7.5 5.5 Mais recursividade . . . . . . . . 7.6 5.6 Voto de conana (Leap of faith) 7.7 5.7 Mais um exemplo . . . . . . . . 7.8 5.8 Checagem de tipos . . . . . . . . 7.9 5.9 Glossrio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 45 46 48 49 49 51 51 52 53 Captulo 6: Iterao 8.1 6.1 Reatribuies . . . . . . . . . . . . . . . . . . . 8.2 6.2 O comando while . . . . . . . . . . . . . . . . 8.3 6.3 Tabelas . . . . . . . . . . . . . . . . . . . . . . 8.4 6.4 Tabelas de duas dimenses (ou bi-dimensionais) 8.5 6.5 Encapsulamento e generalizao . . . . . . . . . 8.6 6.6 Mais encapsulamento . . . . . . . . . . . . . . 8.7 6.7 Variveis locais . . . . . . . . . . . . . . . . . . 8.8 6.8 Mais generalizao . . . . . . . . . . . . . . . . 8.9 6.9 Funes . . . . . . . . . . . . . . . . . . . . . . 8.10 6.10 Glossrio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 55 56 57 59 59 60 61 61 63 63 Captulo 7: Strings 9.1 7.1 Um tipo de dado composto . . . 9.2 7.2 Comprimento . . . . . . . . . . 9.3 7.3 Travessia e o loop for . . . . . 9.4 7.4 Fatias de strings . . . . . . . . 9.5 7.5 Comparao de strings . . . . . 9.6 7.6 Strings so imutveis . . . . . . 9.7 7.7 Uma funo find (encontrar) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 65 66 66 67 68 68 69 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . </li> <li> 4. 9.8 9.9 9.10 9.11 9.12 7.8 Iterando e contando . . . . 7.9 O mdulo string . . . . . 7.10 Classicao de caracteres 7.11 Glossrio . . . . . . . . . 7.11 Glossrio2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 70 70 71 72 10 Captulo 8: Listas 10.1 8.1 Valores da lista . . . . . . . . . . . 10.2 8.2 Acessado elementos . . . . . . . . 10.3 8.3 Comprimento da lista . . . . . . . 10.4 8.4 Membros de uma lista . . . . . . . 10.5 8.5 Listas e laos for . . . . . . . . . 10.6 8.6 Operaes em listas . . . . . . . . 10.7 8.7 Fatiamento de listas . . . . . . . . 10.8 8.8 Listas so mutveis . . . . . . . . . 10.9 8.9 Remoo em lista . . . . . . . . . 10.10 8.10 Ojetos e valores . . . . . . . . . . 10.11 8.11 Apelidos . . . . . . . . . . . . . . 10.12 8.12 Clonando listas . . . . . . . . . . 10.13 8.13 Lista como parmetro . . . . . . . 10.14 8.14 Lista aninhadas . . . . . . . . . . 10.15 8.15 Matrizes . . . . . . . . . . . . . . 10.16 8.16 Strings e listas . . . . . . . . . . . 10.17 8.17 Glossrio . . . . . . . . . . . . . 10.18 Outros termos utilizados neste captulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 73 74 75 75 76 76 77 77 78 78 79 80 80 81 81 82 83 83 11 Captulo 9: Tuplas 11.1 9.1 Mutabilidade e tuplas . . . . . 11.2 9.2 Atribuies de tupla . . . . . . 11.3 9.3 Tuplas como valores de retorno 11.4 9.4 Nmeros aleatrios . . . . . . . 11.5 9.5 Lista de nmeros aleatrios . . 11.6 9.6 Contando . . . . . . . . . . . . 11.7 9.7 Vrios intervalos . . . . . . . . 11.8 9.8 Uma soluo em um s passo . 11.9 9.9 Glossrio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 85 86 86 87 88 88 89 90 91 12 Captulo 10: Dicionrios 12.1 10.1 Operaes dos Dicionrios 12.2 10.2 Mtodos dos Dicionrios . 12.3 10.3 Aliasing (XXX) e Copiar . 12.4 10.4 Matrizes Esparsas . . . . . 12.5 10.5 Hint XXX . . . . . . . . . 12.6 10.6 Inteiros Longos . . . . . . 12.7 10.7 Contando Letras . . . . . . 12.8 10.8 Glossrio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 94 94 95 95 96 98 98 99 13 Captulo 11: Arquivos e excees 13.1 Arquivos e excees . . . . 13.2 11.1 Arquivos texto . . . . 13.3 11.2 Gravando variveis . . 13.4 11.3 Diretrios . . . . . . . 13.5 11.4 Pickling . . . . . . . . 13.6 11.5 Excees . . . . . . . 13.7 11.6 Glossrio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 101 103 104 105 106 107 108 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii </li> <li> 5...</li></ul>