Guia de Consulta Rรกpida
Python Marco Catunda
Novatec Editora www.novateceditora.com.br
Guia de Consulta Rápida Python de Marco Catunda
Copyright2001 da Novatec Editora Ltda.
Todos os direitos reservados. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo, sem prévia autorização, por escrito, do autor e da Editora.
ISBN: 85-7522-009-8
Novatec Editora Ltda. Rua Cons. Moreira de Barros 1084 Conj. 01 02018-012
São Paulo
Brasil
Tel.: +55 11 6959-6529 Fax: +55 11 6950-8869 E-mail: novatec@novateceditora.com.br Site: www.novateceditora.com.br
2
Sumário Introdução .................................................................................................. 6 Instalação do Python .............................................................................. 7 Como obter Python ............................................................................ 7 Instalação Python ............................................................................... 7 Usando o interpretador Python .............................................................. 8 Opções de linha de comando .............................................................. 8 Variáveis de ambiente ......................................................................... 8 Linguagem ................................................................................................. 9 Endentação ............................................................................................. 9 Considerações sobre variáveis ............................................................... 9 Identificadores ....................................................................................... 9 Identificadores Reservados .............................................................. 10 Tipos de dados internos ....................................................................... 10 Números ........................................................................................... 10 Strings .............................................................................................. 10 Valores falso e verdadeiro ................................................................ 11 Operadores ........................................................................................... 12 Operadores aritméticos ..................................................................... 12 Operadores de comparação .............................................................. 12 Operadores lógicos ........................................................................... 12 Operadores de atribuição .................................................................. 12 Operadores de bits ............................................................................ 12 Operador lambda .............................................................................. 12 Outros operadores ............................................................................ 13 Estrutura de dados ................................................................................ 13 Seqüências ........................................................................................ 13 Dicionários ....................................................................................... 15 Estruturas de controle de fluxo ............................................................ 16 Instruções de controle de fluxo ............................................................ 18 Funções ................................................................................................ 19 Módulos e pacotes ............................................................................... 20 Formatando resultados ......................................................................... 21 Erros e exceções .................................................................................. 22 Tratamento das exceções .................................................................. 22 Geração de exceções ........................................................................ 23 Classes ................................................................................................. 23 Métodos ............................................................................................ 24 Construtor ......................................................................................... 24 Atributos ........................................................................................... 24 Atributos e métodos privados ........................................................... 24 Métodos especiais ............................................................................ 25 Uso geral ....................................................................................... 25 Customização dos atributos da classe ........................................... 26 Emulação de chamadas ................................................................. 26 Emulação de seqüências e dicionários .......................................... 27 Emulação das operações sobre seqüências ................................... 27 Emulação das operações usando tipos numéricos ........................ 28 Funções e métodos Python ...................................................................... 30 Métodos da classe String ..................................................................... 30 Métodos da classe arquivo ................................................................... 33 Funções internas .................................................................................. 34
3
Sumário Referência de módulos .......................................................................... 42 Interpretador Python ............................................................................ 42 sys (acesso a funções e parâmetros específicos do sistema) ............ 42 gc (interface para coletor automático) .............................................. 44 atexit2.0 (registrar funções para o término do programa) ................ 45 types (nomes de todos os tipos internos) .......................................... 45 UserDict (classe para definição de objetos dicionários) .................. 46 UserList (classe para definição de objetos listas) ............................. 46 UserString (classe para definição de objetos strings) ....................... 47 operator (todos os operadores de python como funções) ................. 47 traceback (tratamento do pilha de execução -traceback) ................. 49 linecache (acesso a arquivos texto) .................................................. 50 pickle (conversão de objetos em stream bytes) ................................ 51 cPickle (implementação otimizada do módulo pickle) ..................... 51 copy_reg (funções pickle) ................................................................ 51 shelve (persistência) ......................................................................... 52 copy (operações de cópia de objetos) ............................................... 52 marshal (conversão de objetos em stream bytes) ............................. 53 pprint (impressão de dados melhorada) ............................................ 53 repr (implementação do repr() com limites de tamanho) ................. 54 new (criação de objetos internos em tempo de execução) ............... 55 site (referência para módulos específicos de terceiros) .................... 55 user (referência para módulos específicos do usuário) .................... 56 __builtin__ (conjunto de funções internas) ...................................... 56 __main__ (contexto de execução) .................................................... 56 Tratamento de strings ........................................................................... 56 string (tratamento de strings) ............................................................ 56 re (pesquisa usando expressões regulares) ....................................... 60 struct (tratamento de strings com dados em formato binário) .......... 63 stringIO (lê e escreve em string como se fossem arquivos) ............. 64 cStringIO (implementação mais rápida do StringIO) ....................... 64 unicodedata (acesso aos caracteres unicode) ................................... 65 Miscelânea ........................................................................................... 66 math (funções matemáticas) ............................................................. 66 cmath (funções matemáticas para números complexos) .................. 67 Interface de números aleatórios ........................................................ 68 random (geração de números randômicos) ...................................... 69 whrandom (geração de números de ponto flutuante randômicos) .... 70 bisect (pesquisa binária) ................................................................... 70 array (arrays mais eficientes para tipos básicos) .............................. 70 ConfigParser (tratamento de arquivo de configuração) ................... 72 fileinput (multiplos arquivos) ........................................................... 74 calendar (tratamento de calendários) ................................................ 75 Sistema operacional ............................................................................. 76 os (operações relacionadas ao sistema operacional) ........................ 76 Operações sobre processos e usuários .......................................... 76 Criação de arquivos ...................................................................... 78 Operações com descritores de arquivos ........................................ 79 Arquivos e diretórios .................................................................... 81 Gerenciamento de processos ........................................................ 83 Informação do sistema .................................................................. 86 os.path (tratamento de caminhos de diretórios) ................................ 86 dircache (lista de diretórios com mecanismo de cache) ................... 88 stat (interpreta os resultados das funções os.stat() e os.fstat()) ........ 89 statcache (otimização da função os.stat()) ........................................ 90 statvfs (interpretar os resultados da função os.statvfs()) .................. 90 filecmp (compara arquivos) ............................................................. 91 popen22.0 (tratamento de subprocessos) ......................................... 92 time (tratamento de data/hora) ......................................................... 94
4
Sumário sched (tratamento de eventos) .......................................................... 96 getpass (tratamento de senhas) ......................................................... 96 getopt (tratamento de comandos de linhas) ...................................... 97 tempfile (geração de arquivos temporários) ..................................... 97 errno (erros) ...................................................................................... 98 glob (procura de arquivos usando pattern) ..................................... 100 fnmatch (procura de arquivos usando pattern) ............................... 101 shutil (operações de arquivos, incluindo cópia) ............................. 101 locale (serviço de internacionalização) .......................................... 102 Opcionais do sistema operacional ...................................................... 104 signal (interceptação de eventos assíncronos) ............................... 104 socket (interface de rede) .............................................................. 104 select (espera pelas operações de I/O) ........................................... 108 thread (criação de threads) ............................................................. 109 threading (interface alto nível criação de threads) ......................... 110 mutex (implementa o conceito de mutex (mutual-exclusion)) ....... 113 Queue (implementa a classe Queue (fila)) ..................................... 114 mmap (arquivos mapeados em memória) ....................................... 114 anydbm (interface genérica para DBM) ......................................... 116 dumbdbm (implementação de um DBM simples) .......................... 116 dbhash (interface DBM para a biblioteca BSD) ............................ 116 whichdb (identifica qual DBM pertence o arquivo) ...................... 117 bsddb (interface com a biblioteca Berkeley DB) ........................... 117 zlib (interface para compressão e descompressão) ......................... 118 gzip (compressão e descompressão de arquivos) ........................... 120 Serviços específicos do Unix ............................................................. 120 pwd (arquivo de senha) .................................................................. 120 grp (arquivo de grupos) .................................................................. 121 crypt (criptografia de senhas) ......................................................... 121 dl (bibliotecas compartilhadas) ...................................................... 122 dbm (banco de dados simples) ....................................................... 122 gdbm (gnu dbm) ............................................................................. 123 fcntl (fcntl() e ioctl()) ..................................................................... 123 pipes (interface para o shell pipelines) ........................................... 124 resource (informações dos recursos usados) .................................. 125 syslog (UNIX syslog) ..................................................................... 126 commands (utilitários para executar comados) .............................. 127 Módulos não documentados .............................................................. 128 cmd (interpretador de comando de linha) ....................................... 128 code (criação de um interpretador interativo) ................................ 128 codecs2.0 (codificação e decodificação) ........................................ 128 codeop (compilador python) .......................................................... 128 curses (biblioteca de interface curses) ............................................ 128 curses.ascii (constantes e funções para caracteres ASCII) ............. 128 curses.textpad (entrada de dados padrão Emacs) ........................... 128 curses.wrapper (configuração de terminal) .................................... 128 fpformat (formatação de ponto flutuante) ...................................... 128 gettext (serviços de internacionalização) ....................................... 128 imp (incorporação de módulos com import) .................................. 128 nis (interface para o serviço NIS do Unix) ..................................... 128 posix (chamadas POSIX) ............................................................... 128 pty (implementa um pseudoterminal) ............................................. 128 readline (GNU readline) ................................................................. 128 rlcompleter (identificador Python para GNU readline) .................. 128 shlex (analisador léxico simples) ................................................... 128 termios (POSIX tty) ....................................................................... 128 TERMIOS (constantes para POSIX tty) ........................................ 128 tty (controle de terminal) ................................................................ 128 zipfile (manuseio de arquivos do formato ZIP) .............................. 128
5
Introdução
Introdução Python é uma linguagem fácil e poderosa. Possui mecanimos eficientes e com um bom nível de abstração para manipulação de estruturas de dados. É uma linguagem interativa, interpretada e orientada a objetos com uma sintaxe elegante e tipagem dinâmica. Python é ideal para linguagem de script, e para desenvolvimento rápido de aplicações (RAD) em muitas áreas e plataformas. Algumas pessoas falam que Python é uma linguagem mágica porque você consegue fazer quase tudo com um mínimo esforço. Diferente de outras linguagens, Python não vende a idéia de fazer a mesma coisa de várias maneiras. Essa é a uma das razões de Python ter apenas um dialeto, ela não possui muitas estilos de gramáticas e definições. Conseqüentemente, você consegue memorizar todo o vocabulário com pouco esforço. Python foi criada por Guido van Rossum, e seu nome foi inspirado em seu grupo favorito de comédia chamado Monty Python's Flying Circus. O interpretador Python e suas bibliotecas padrões estão disponíveis, tanto o código-fonte como o binário, para a maioria das plataformas, no site http://www.python.org, e pode ser livremente distribuída. Nesse mesmo site, que é o site oficial da linguagem Python, você encontrará muitas bibliotecas desenvolvidas por terceiros e documentação. O interpretador Python pode ser facilmente extendido com novas funções e novos tipos de dados implementados em C ou C++. Python também pode ser vista com uma linguagem para configuração de aplicações (Glue Language). Esse guia tem como objetivo oferecer, para os iniciantes e os mais experientes, uma consulta rápida das facilidades da linguagem Python.
6
Introdução
Instalação do Python Como obter Python Python é um software de código aberto. O código-fonte e os binários para vários plataformas podem ser adquiridos, sem custo adicional, por meio do site oficial da linguagem Python: http://www.python.org/download Existe uma outra distribuição Python chamada de ActivePython, que possui alguns módulos adicionais. Pode ser encontrada no site: http://www.activestate.com
Instalação Python Plataforma Unix (Linux) Python está presente na maioria das distribuições Linux. Os binários para Linux, Solaris e AIX podem ser encontrados no site www.python.org/download. A instalação desses binários varia de distribuição para distribuição. Para as distribuições baseadas em RedHat (pacotes .rpm), execute o seguinte comando: rpm -Uvh python2-2.0-1.i386.rpm Você pode também obter os fontes da linguagem e compilar em sua máquina. Para isso, execute os seguintes comandos: gunzip -c Python-2.0.tar.gz | tar -xvf cd python-2.0 ./configure make
Plataforma Windows Existe um instalador (.exe) para a plataforma Windows disponível no site oficial de Python (www.python.org/download). Execute esse instalador e siga as instruções de instalação. Esse procedimento é o mesmo para a maioria dos softwares para Windows.
7
Introdução
Usando o interpretador Python Para executar o interpretador Python digite o seguinte comando: python Após a execução desse comando aparecerá um prompt com ">>>", isso significa que o interpretador está esperando algum comando Python a ser digitado. Ex: >>> print "Alô Mundo" Alô Mundo Se aparecer o prompt "..." significa que o último comando digitado está incompleto, necessitando de mais palavras. Ex: >>> print "Alô \ ... Mundo" Alô Mundo
Opções de linha de comando python [opção] ... [-c cmd | arquivo | -] [arg] ..
Opção
Descrição
-d
Imprime informações de debug do interpretador (PYTHONDEBUG=x). Faz uma inspeção interativa antes de executar o script, forçando um prompt mesmo que a entrada-padrão não seja um terminal (PYTHONINSPECT=x). Otimização na geração dos bytescodes (PYTHONOPTIMIZE=x). Retira os doc-strings, melhorando a otimização da opção -O. Na inicialização, não incorpora o módulo "site.py" automaticamente. Alerta quando for encontrado endentação inconsistente. Erro quando for encontrado endentação inconsistente. Desliga o buffer da entrada e da saída-padrão (PYTHONBUFFERED=x). Liga modo verbose, informa procedimentos importantes (PYTHONVERBOSE=x) Pula a primeira linha do código, muito usado para plataformas que não usam o padrão Unix #!cmd. Desabilita exceções baseadas em classes internas. Executa o comando. Arquivo contendo o script Python que será executado. Executa os dados que chegam da entrada-padrão. Argumentos passados para o script.
-i
-O -OO -S -t -tt -u -v -x -X -c cmd arquivo arg
Variáveis de ambiente Nome da variável
Descrição
PYTHONDEBUG PYTHONINSPECT PYTHONOPTIMIZE PYTHONBUFFERED PYTHONVERBOSE PYTHONSTARTUP
Imprime informações para debug. Inspeciona o código. Otimiza o código. Desativa o buffer de entrada/saída-padrão. Ativa o modo verbose. Caminho do script que deve ser executado assim que o interpretador for carregado. Lista de diretórios separados por ':' (Unix) ou ';' (Windows). O interpretador procurará os módulos nos diretórios dessa lista. Altera o caminho <prefix> do padrão de pesquisa de módulos: <prefix>/python2.0.
PYTHONPATH
PYTHONHOME
8
Linguagem
Linguagem Endentação Diferente de outras linguagens, Python usa a endentação para demilitar os blocos de códigos. Não existe o conceito de abre '{' e fecha '}', ou 'begin' e 'end'. Quando você endenta um bloco de código, você define o grupo das estruturas de controle. Ex: if ( condição ): comando1 comando2 Isso leva o programador a estar sempre organizado sob o ponto de vista da endentação do código. A endentação deve ser consistente para todo o bloco de código. Um caso típico de erro de endentação ocorre quando você endenta determinado bloco de código com um tab, e seu editor de texto esteja configurado de modo que um tab equivale a três espaços, por exemplo. Para Python um tab não é igual a três espaços e se você usar, para o mesmo bloco de código, linhas com um tab e linhas com três espaços, Python acusará um erro apesar de o texto estar aparentemente correto devido à configuração do seu editor de texto. Python permite que se tenha um ou mais comandos em uma mesma linha desde que estejam separados por ';'. Ex: print "Hello"; print "World"
Considerações sobre variáveis Python é uma linguagem com tipagem dinâmica, portanto não necessita declarar qual o tipo da variável em questão. Dependendo do valor que você armazena na variável, esta altera seu tipo automaticamente. Ex: x = "Alô Mundo" x = 123 Você pode associar às variáveis, não só os tipos básicos (números e strings) como qualquer outro valor (funções, classes, módulos). O exemplo a seguir associa à variável x uma referência da função round() e depois usa a variável como se fosse a função round(). x = round x( 27.23, 2 ) Python possui mecanismo de contador de referências em suas variáveis. Isso quer dizer que você não precisa se preocupar em liberar memória das variáveis. Quando não existir mais referências para a variável em questão, esta será liberada.
Identificadores Identificador é um nome dado a um objeto criado pelo programador (variáveis, classes, etc. ). Os identificadores podem ter os seguintes caracteres: A-Z, a-z, 0-9 e _. Porém, não podem ser iniciados com números. Os identificadores são sensíveis a letras maiúsculas e minúsculas. Ex: o identificador Hello é diferente do identificador hello. Os identificadores são ilimitados segundo seu tamanho, podem ter qualquer quantidade de caracteres. 9
Linguagem
Identificadores Reservados As seguintes palavras são reservadas pela linguagem Python. Você não pode alterá-las nem usá-las como identificadores. and, assert, break, class, continue, del, def, elif, else, except, exec, finally, for, from, global, if, import, in, is, lambda, not, or, pass, print, raise, return, try, while
Tipos de dados internos Números Existem quatro tipos numéricos em Python: inteiros, inteiros longo, ponto flutuante e complexos. Inteiros: números entre -2147483647 até +2147483647 (32bits). As seguintes representações são aceitáveis: Decimal: 200 Hexadecimal: 0xc8 Octal: 0310 Inteiros Longo: qualquer número. Não existe limite para os inteiros longo. O único limite é a memória. Os inteiros longos são representados quase da mesma forma dos inteiros com a diferença da letra 'L' ser colocada no final da representação: Decimal: 200L Hexadecimal: 0xc8L Octal: 0310L Ponto Flutuante: qualquer número real. As seguintes representações são aceitáveis: Normal: 20.7, 0.007, .09, 23. Exponencial: 2.07e1, 7e-3, 0. 9e-1, 2.3e1 Complexos: números complexos são compostos por dois números reais (real, imaginário). A representação de um número complexo em Python é: <real>+<real>j Ex: 3.4+5.6j, .01+1e10j
Strings Os strings são representados como uma cadeia de caracteres entre aspas (") ou apóstrofos ('). Ex: "alo mundo", 'alo mundo' Python aceita uma outra forma de representação de strings com três aspas ("""). Essa forma permite que a cadeia de caracteres seja expandida em múltiplas linhas. Ex: """alo mundo. Estou testando o novo mundo da linguagem Python""" O caractere \ (backslash) é o caractere de escape e quando procedido de uma letra pode possuir um significado diferente.
10
Linguagem A seguir a tabela com todos os códigos de escape: Escape Descrição \<newline> \\ \' \" \a \b \f \n \r \t \v \<ooo> \x<hhh>
Ignorado Backslash (\) Plic (') Aspa (") ASCII Bell (BEL) ASCII Backspace (BS) ASCII Formfeed (FF) ASCII Linefeed (LF) ASCII Carriage Return (CR) ASCII Horizontal Tab (TAB) ASCII Vertical Tab (VT) ASCII caractere de número octal ooo ASCII caractere de número hexadecimal hhhh
Quando o string for precedido do caractere 'r' os códigos de escape não são considerados. Ex: print "alô\nmundo" alo mundo print r"alo\nmundo" alo\nmundo Python oferece suporte ao padrão Unicode de caracteres. Para escrever uma cadeia de caracteres usando o padrão Unicode, deve-se colocar o caractere 'u' diante da cadeia. Ex: u'alo mundo' Strings são considerados por Python uma seqüência de caracteres, isso quer dizer que todas as operações válidas para lista (tipo de estrutura de dados) também são válidas para string. Exemplo de algumas operações: Exemplo Descrição Resultado "alo" + "mundo" "alo" * 2 "alo"[1] "alo"[-1] "alo mundo"[1:5]
Concatenação Repetição Indexação Indexação para trás Particionar
"alo mundo" "aloalo" "a" "o" "lo m"
Valores falso e verdadeiro Qualquer variável pode ser testada como sendo falsa ou verdadeira nas estruturas de controles if e while ou nos operadores de expressões lógicas. As seguintes condições são consideradas falsas por Python: • None • Zero de qualquer tipo númerico: 0, 0L, 0.0 • Seqüência vazia: (), [] • Dicionário vazio: {} • Instâncias de classes definidas pelo usuário aos quais tenham definidos os métodos _ _nonzero_ _() ou _ _len_ _() e esses retornem zero. Todos os outros valores são considerados verdadeiros.
11
Linguagem
Operadores Operadores aritméticos Operador
Exemplo
Descrição
+ * / % ** += -+ *= /= %= **=
a+b a-b a*b a/b a%b a ** b a += b a -= b a *= b a /= b a %= b a **= b
Adição Subtração Multiplicação Divisão Resto da divisão Exponenciação O mesmo que a = a + b O mesmo que a = a - b O mesmo que a = a * b O mesmo que a = a / b O mesmo que a = a % b O mesmo que a = a ** b
Operadores de comparação Operador
Exemplo
Descrição
> < == >= <= <> != is in
a>b a<b a == b a >= b a <= b a <> b a != b a is b a in b
Maior que Menor que Igual Maior ou Igual Menor ou Igual Diferente Diferente Mesmo Objeto Está contido
Operadores lógicos Operador
Exemplo
Descrição
and or not
a and b a or b not b
E lógico Ou lógico Negação lógico
Operadores de atribuição Operador
Exemplo
Descrição
=
a=1
Recebe valor
Operadores de bits Operador
Exemplo
Descrição
| ^ & >> << ~
a|b a^b a&b a >> b a << b ~a
Ou em bits Exclusive ou em bits E em bits Desloca bits para a direita Desloca bits para a esquerda Negação em bits
Operador lambda O operador lambda é usado para declarar uma função anônima. Ex: >>> f = lambda x, y: x * y >>> print( f(2,2) ) 4 12
Linguagem
Outros operadores Operador
Exemplo
Descrição
+ . [] [i:i] f(args...) (exp...) [exp...] {chave: valor...} `exp...` %
+a -b x.atributo x[indice] x[1:3] f(a,b) (1,2,3) [1,2,3] {1:a, 2:b} `a+2` "%d" % (6)
Positivo Negativo Referência a atributos Indexação Particionamento Chamada de função Tuplas Listas Dicionários Conversão em string Formatação de resultados
Estrutura de dados Python possui dois conjuntos de estruturas de dados chamados de seqüências e dicionários. Seqüência é um conjunto de elementos que pode ser acessado em qualquer ordem. Dicionário é um conjunto de elementos indexados por chaves, cada elemento em um dicionário possui uma chave associado a um valor.
Seqüências Existem seis tipos de seqüências: strings, Unicode string, listas, tuplas, buffers e xranges: Strings: são cadeias de caracteres entre ", ' ou """. Ex: "alo mundo" Unicode string: são strings precedidos do caractere 'u'. Ex: u"alo mundo" Listas: são elementos entre colchetes separados por vírgula. Ex: [1,2,3] Tuplas: são elementos entre parênteses separados por vírgula. As tuplas são imutáveis, não podem ser alteradas. Ex: (1,2,3) Buffers: não existe nenhuma sintaxe específica na linguagem Python para criação de um buffer. Esse tipo pode ser criado por meio da função buffer(). Xranges: não existe nenhuma sintaxe específica na linguagem Python para criação dos xranges. Esse tipo pode ser criado por meio da função xrange(). Na tabela a seguir estão todas as possíveis operações que se podem fazer em uma seqüência. Nessa tabela s e t são seqüências do mesmo tipo, enquanto n, i e j são inteiros e x é um tipo qualquer.
13
Linguagem Operação (Seqüência)
Descrição
x in s x not in s
1 se x estiver contido em s, caso contrário 0. 1 se x não estiver contido em s, caso contrário 0. concatenação de s e t. n cópias de s concatenado. Elemento cujo índice é i, primeiro índice é 0. Seqüência de elementos entre os índices i e j. Número de elementos da seqüência. Menor valor da seqüência. Maior valor da seqüência.
s+t s*n s[i] s[i:i] len(s) min(s) max(s)
Exemplos >>> a = [1, 2, 3 >> s = [1, 2, 3] >>> t = [4, 5, 6] >>> x = 2 >>> x in s 1 >>> x not in s 0 >>> s + t [1, 2, 3, 4, 5, 6] >>> s * 2 [1, 2, 3, 1, 2, 3] >>> s[2] 3 >>> s[1:3] [2, 3] >>> len(s) 3 >>> min(s) 1 >>> max(s) 3 Particularmente, a seqüência do tipo lista possui um conjunto de operações que permite manusear e alterar seus elementos. Operação (Listas) Descrição s[i] = j s[i:j] = t del s[i:j] s.append(x) s.extend(x) s.count(x) s.index(x) s.insert(i, x) s.pop([i ]) s.remove(x) s.reverse() s.sort([cmpfunc ])
14
Substitui um elemento. Substitui um grupo de elementos. Remove um grupo de elementos. Adiciona um elemento. Adiciona uma lista. Retorna o número de vezes que um elemento está presente na lista. Retorna o menor índice do elemento. Insere um elemento na posição i. Retira um elemento da posição i. Padrão i = -1 (último elemento). Remove um elemento. Inverte a ordem da lista. Ordena a lista.
Linguagem Exemplos >>> a = [1,2,3,4] >>> a[1] = 10 >>> a [1, 10, 3, 4] >>> a.append(30) >>> a [1, 10, 3, 4, 30] >>> a.extend([90,32]) >>> a [1, 10, 3, 4, 30, 90, 32] >>> a.index(30) 4 >>> a.reverse() >>> a [32, 90, 30, 4, 3, 10, 1] >>> a.pop() 1
Dicionários Os dicionários associam um objeto (chamado de chave) a outro objeto (chamado de valor). As chaves podem ser de qualquer tipo com exceção dos tipos lista, dicionário e objetos que não possam ter um valor hash para comparação. Chaves do tipo númerico usam o mesmo procedimento de comparação numérica, por exemplo, as chaves 1 e 1.0 serão idênticas para um dicionário, portanto elas estarão associadas ao mesmo valor. Dicionários são criados como um conjunto de "chaves: valor "separados por vírgula. Ex: { 'jack': 4809, 'ane': 1245 } A tabela a seguir descreve as possíveis operações para os dicionários. Operação (Dicionário) Descrição len(a) a[k] a[k] = v del a[k] a.clear() a.copy() a.has_key(k) a.items() a.keys() a.update(b) a.values() a.get(k[, x ]) a.setdefault(k[, x ])
Número de elementos. Valor da chave k. Atribui um valor a uma chave. Remove uma chave e seu valor. Apaga todos os elementos. Retorna uma cópia do dicionário. Verdadeiro se existe a chave. Lista de tuplas (chave, valor) com todos os elementos. Lista de todas as chaves. O mesmo que for k in b.keys(): a[k] = b[k]. Lista com todos os valores. Se existe a chave k retorna a[k], caso contrário retorna x. Se existe a chave k retorna a[k], caso contrário retorna x e associa a[k] = k.
15