PythonUma introdução
Klaus Natorf Quelhas
Novembro de 2009
Python• Introdução
Características
Tipos de dados
Tipos numéricos
Strings
Listas
Tuplas
Dicionários
Booleanos
Conversão
Controle de fluxo
if
for
while
Exemplos
• Criada por Guido van Rossum no final de 1989, no Instituto Nacional de Matemática e Ciência da Computação da Holanda (CWI); • Tinha como principal foco auxiliar físicos e engenheiros;
• O nome é uma homenagem ao grupo humorístico britânico Monty Python, criador do programa Monty Python's Flying Circus;
• Linguagem de programação livre, com desenvolvimento comunitário;
Python Introdução
• Características
Tipos de dados
Tipos numéricos
Strings
Listas
Tuplas
Dicionários
Booleanos
Conversão
Controle de fluxo
if
for
while
Exemplos
• É uma linguagem interpretada (com Perl, Shell script, etc) – Não é necessário compilar o programa;
• Os arquivos fonte podem ser executados diretamente pelo interpretador, que os converte em byte codes (que são multiplataforma);
• O Python pode ser executado diretamente no terminal:
python (executa o python no modo interativo)
python teste.py (executa o programa teste.py)
• É ideal para ser usado como linguagem de scripts, automatizando tarefas;
• É uma linguagem de aprendizado fácil, com sintaxe clara e concisa.
Python Introdução
• Características
Tipos de dados
Tipos numéricos
Strings
Listas
Tuplas
Dicionários
Booleanos
Conversão
Controle de fluxo
if
for
while
Exemplos
• É uma linguagem com tipagem forte, porém dinâmica;
• Estrutura simples (não é necessário digitar ponto-e-vírgula ao final de cada linha de instruções – caso seja preciso continuar na linha seguinte pode-se fazer uso da barra invertida);
• Também não é necessário abrir e fechar blocos de código com chaves, como o C, por exemplo;
• A identificação de blocos é feita através de identação, Ex:
(1) while x<100:(2) s=s+x(3) x=x+1(4) print s
Python Introdução
• Características
Tipos de dados
Tipos numéricos
Strings
Listas
Tuplas
Dicionários
Booleanos
Conversão
Controle de fluxo
if
for
while
Exemplos
• É uma linguagem orientada a objetos;
Tudo em python é objeto, até mesmo os inteiros. Desta forma, até os tipos mais básicos possuem métodos específicos;
• Oferece ferramentas para: - Programação funcional;
- Processamento de imagens;
- Interface gráfica;
- Processamento distribuído;
- Integração com C e C#.
Python Introdução
• Características
Tipos de dados
Tipos numéricos
Strings
Listas
Tuplas
Dicionários
Booleanos
Conversão
Controle de fluxo
if
for
while
Exemplos
• Integração com outros programas como linguagem de script.
• Blender:
O Python permite acessar todas as estruturas do Blender (operações 3D, manipulação de materiais, texturas e ambientes de cenas);
• BrOffice.org:
Dá suporte ao Python como linguagem de Macro (automatiza determinadas tarefas);
Python Introdução
Características
• Tipos de dados
• Numéricos
Strings
Listas
Tuplas
Dicionários
Booleanos
Conversão
Controle de fluxo
if
for
while
Exemplos
Tipos numéricos:
• inteiro (int):
>>>a=10
• inteiro longo (long):
>>>a=9999999999999
• ponto flutuante (float):
>>>a=1.294 (ou ainda 12.94e-1)
• complexo (complex):
>>>a=1+2j
Python Introdução
Características
• Tipos de dados
• Numéricos
Strings
Listas
Tuplas
Dicionários
Booleanos
Conversão
Controle de fluxo
if
for
while
Exemplos
• Operadores:
+ (Soma) - (Subtração) * (Multiplicação) / (Divisão) // (Divisão inteira) ** (Exponenciação) % (Resto de divisão inteira)
• Métodos:
a.real (Retorna a parte real do complexo a)
a.imag (Retorna a parte imaginária do complexo a)
Python Introdução
Características
• Tipos de dados
Numéricos
• Strings
Listas
Tuplas
Dicionários
Booleanos
Conversão
Controle de fluxo
if
for
while
Exemplos
• Strings são constantes;
• A indexação de seus caracteres é feita através de colchetes. Entretanto os caracteres da String não podem ser modificados;
Exemplos:
>>> st='UERJ' >>> print st[0] U >>> print st[-4] U >>> print st[-len(st)] U
• Todos os exemplos acima retornam o último caractere da string st.
Python Introdução
Características
• Tipos de dados
Numéricos
• Strings
Listas
Tuplas
Dicionários
Booleanos
Conversão
Controle de fluxo
if
for
while
Exemplos
• Mais exemplos:
>>> st='Departamento de Sistemas e Computacao'
>>> print st[:15]
Departamento de
>>> print st[27:]
Computacao
>>> print st[:15],st[27:]
Departamento de Computacao
>>> print st[15:27]
Sistemas e
>>> print st[::-1]
oacatupmoC e sametsiS ed otnematrapeD
Python Introdução
Características
• Tipos de dados
Numéricos
• Strings
Listas
Tuplas
Dicionários
Booleanos
Conversão
Controle de fluxo
if
for
while
Exemplos
Operações envolvendo strings:
• Concatenação:
>>> st='estou' >>> s=' em casa' >>> print st+s estou em casa >>> s='estou' ' em casa' >>> print s
• Interpolação:
>>> st='vida boa' >>> print “o comprimento de %s é %d” % (st,len(st)) o comprimento de vida boa é 8
• Uso da string como sequencia:
>>> for c in s: ... print c ... U E R J
Python Introdução
Características
• Tipos de dados
Numéricos
• Strings
Listas
Tuplas
Dicionários
Booleanos
Conversão
Controle de fluxo
if
for
while
Exemplos
• Repetição de strings:
>>>3*'string' 'stringstringstrig‘
• Métodos:
>>> s='UERJ'>>> print s.lower() #retorna a string com caracteres minúsculosuerj>>> if s.startswith('U'): #verifica se a string começa com 'U'... print 'começa' ... começa >>> if s.endswith('J'): #verifica se a string termina com 'J' ... print 'termina' ... termina
Python Introdução
Características
• Tipos de dados
Numéricos
Strings
• Listas
Tuplas
Dicionários
Booleanos
Conversão
Controle de fluxo
if
for
while
Exemplos
• São coleções de objetos, que podem ser de qualquer tipo, até mesmo outras listas;
• Os elementos da lista não precisam ser do mesmo tipo;
• Os tratamento dado às listas é semelhante ao dado às strings.
• Exemplos:
>>> lista = ['ab','bc',3,45] >>> print lista[0] ab >>> print lista[3] 45 >>> a=lista[0]+lista[1] >>> print a abbc >>> num=lista[2]+lista[3] >>> print num 48
Python Introdução
Características
• Tipos de dados
Numéricos
Strings
• Listas
Tuplas
Dicionários
Booleanos
Conversão
Controle de fluxo
if
for
while
Exemplos
• O sistema de indexação é idêntico ao das strings. Da mesma forma, pode-se selecionar intervalos na lista. Exemplo:
>>> lista = ['ab','bc',3,45] >>> print lista[:2] ['ab', 'bc'] >>> print lista[2:] [3, 45] >>> print lista[::-1] [45, 3, 'bc', 'ab']
• As operações de concatenação, enumeração e repetição das strings também são aplicáveis às listas.
>>> lista = ['a','casa',456,44.5,23+5j] >>> lista2=[1,2,3,4] >>> lista3=lista+lista2 # concatenando as listas>>> print lista3 ['a', 'casa', 456, 44.5, (23+5j), 1, 2, 3, 4]
Python Introdução
Características
• Tipos de dados
Numéricos
Strings
• Listas
Tuplas
Dicionários
Booleanos
Conversão
Controle de fluxo
if
for
while
Exemplos
>>> for c in lista: #usando a lista como uma sequencia... print c ... a casa 456 44.5 (23+5j) >>> print 3*lista2 # repetindo a lista[1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4]
• Ao concatenar uma string a uma lista, os caracteres da string são separados em elementos da lista.
>>> lista=[1,2,3] >>> lista+='casa' >>> print lista [1, 2, 3, 'c', 'a', 's', 'a']
Python Introdução
Características
• Tipos de dados
Numéricos
Strings
• Listas
Tuplas
Dicionários
Booleanos
Conversão
Controle de fluxo
if
for
while
Exemplos
• Os elementos da lista podem ser alterados. Exemplo:
>>> lista=[1,2,3] >>> lista[2]='elemento' >>> print lista [1, 2, 'elemento']
• Métodos úteis:
>>> lista.append(8) #incluindo elemento
>>> lista.remove(lista[1]) #removendo elemento a partir do índice
>>> lista.remove(2) #removendo o elemento a partir da descrição do mesmo
>>> lista.sort() #ordena a lista
>>> lista.reverse() #inverte a lista
• O uso do método pop() em conjunto com o método append() faz da lista uma pilha.
Python Introdução
Características
• Tipos de dados
Numéricos
Strings
Listas
• Tuplas
Dicionários
Booleanos
Conversão
Controle de fluxo
if
for
while
Exemplos
• Uma tupla é como uma lista, a mesma não pode ser alterada. Entretanto seus elementos podem ser mutáveis. Exemplo:
>>> tupla=([1,2,3],'abc','de') >>> tupla[0].remove(2) >>> print tupla ([1, 3], 'abc', 'de')
• O tratamento dado às tuplas no que se refere à indexação de seus elementos é idêntico ao dado às listas e strings.
Python Introdução
Características
• Tipos de dados
Numéricos
Strings
Listas
Tuplas
• Dicionários
Booleanos
Conversão
Controle de fluxo
if
for
while
Exemplos
• Dicionários são listas onde a indexação é feita por associação. É definida uma chave e aquela chave estará associada a um elemento do dicionário. Exemplo:
>>> dic={'a':10,'b':20,'c':30} #declarando um dicionário >>> print dic['b'] #retornando um elemento através da chave 20 >>> dic['b']=56 #modificando um elemento através de sua chave >>> print dic {'a': 10, 'c': 30, 'b': 56}
• As chaves do dicionário são imutáveis, porém os valores associados à chave são mutáveis.
Não há garantia de que as chaves do dicionário estarão ordenadas.
Python Introdução
Características
• Tipos de dados
Numéricos
Strings
Listas
Tuplas
• Dicionários
Booleanos
Conversão
Controle de fluxo
if
for
while
Exemplos
• Operações com dicionários:
>>> dic={'a':10,'b':20,'c':30} #declarando o dicionário >>> dic['d']=40 #adicionando um novo elemento >>> del dic['b'] #removendo um elemento >>> print dic {'a': 10, 'c': 30, 'd': 40}
• Métodos úteis com dicionários:
>>> print dic.items() #retorna os itens do dicionário [('a', 10), ('c', 30), ('b', 20)] >>> print dic.keys() #retorna as chaves do dicionário ['a', 'c', 'b'] >>> print dic.values() #retorna os valores do dicionário [10, 30, 20] >>> print dic.keys()[1] #retorna uma chave do dicionário através de seu índicec
Python Introdução
Características
• Tipos de dados
Numéricos
Strings
Listas
Tuplas
Dicionários
• Booleanos
Conversão
Controle de fluxo
if
for
while
Exemplos
• O tipo booleano é uma implementação do tipo inteiro. • Ele pode assumir os valores True ou False.
• São considerados como False:
- False; - None (nulo); - 0 (zero); - “” (string vazia); - [] (lista vazia); - () (tupla vazia); - {} (dicionário vazio); - qualquer outra estrutura com tamanho zero.
Python Introdução
Características
• Tipos de dados
Numéricos
Strings
Listas
Tuplas
Dicionários
Booleanos
• Conversão
Controle de fluxo
if
for
while
Exemplos
• Existem funções que são utilizadas para retornar uma variável convertida para um tipo específico. Exemplos:
>>> x=25 >>> str(x) # retorna x convertido para string'25' >>> float(x) # retorna x convertido para float25.0>>> x='25' >>> int(x) # retorna x convertido para inteiro25 >>> float(x) # retorna x convertido para float25.0 >>>
Python Introdução
Características
Tipos de dados
Numéricos
Strings
Listas
Tuplas
Dicionários
Booleanos
Conversão
• Construções
• if
for
while
Exemplos
• A construção if é utilizada para controle condicional e tem a seguinte sintaxe:
if <condição>:<expressão 1>
elif <condição 2>:<expressão 2>
else:<expressão 3>
Python Introdução
Características
Tipos de dados
Numéricos
Strings
Listas
Tuplas
Dicionários
Booleanos
Conversão
• Construções
• if
for
while
Exemplos
• Operadores lógicos:
and - retorna verdadeiro caso todas as entradas forem verdadeiro;
or - retorna verdadeiro caso uma das entradas for verdadeiro;
not - se a entrada for verdadeira passará a falsa e vice-versa;
is - retorna verdadeiro caso receba duas referências ao mesmo objeto (útil para comparar strings);
in - retorna verdadeiro caso receba uma entrada que é encontrada uma ou mais vezes em uma lista.
• Expressões condicionais:
<variavel>=<valor1> if <condição> else <valor2>
Python Introdução
Características
Tipos de dados
Numéricos
Strings
Listas
Tuplas
Dicionários
Booleanos
Conversão
• Construções
if
• for
while
Exemplos
• Utilizado para percorrer listas ,sequencias e processar iteradores.
• Sintaxe:
for <referência> in <sequencia>:<bolco de expressões>continuebreak
else:<bolco de expressões>
Python Introdução
Características
Tipos de dados
Numéricos
Strings
Listas
Tuplas
Dicionários
Booleanos
Conversão
• Construções
if
• for
while
Exemplos
• O laço não percorre somente sequencias estáticas, mas também sequencias geradas por iteradores. Exemplo:
>>> lista=[1,2,3] >>> for i in lista: ... lista.append(len(lista)+1) ... print i ... if i>5:break ... 1 2 3 4 5 6
Python Introdução
Características
Tipos de dados
Numéricos
Strings
Listas
Tuplas
Dicionários
Booleanos
Conversão
• Construções
if
• for
while
Exemplos
• A função range(m, n, p) define uma sequencia de inteiros iniciada em m, menor do que n (ou maior, depende da direção da sequencia), a um passo p (que pode ser negativo). Exemplo:
>>> for i in range(1,10,2): ... print i ... 1 3 5 7 9
Python Introdução
Características
Tipos de dados
Numéricos
Strings
Listas
Tuplas
Dicionários
Booleanos
Conversão
• Construções
if
for
• while
Exemplos
• É utilizada para realizar iterações condicionais, onde não se sabe o momento em que as iterações terminam.
• Sintaxe:
while<condição>:<bloco de expressões>continuebreak
else:<bloco de expressões>
• Exemplo:
>>> a=0 >>> while a<5: ... print a ... a+=2 ... 0 2 4
Python Introdução
Características
Tipos de dados
Numéricos
Strings
Listas
Tuplas
Dicionários
Booleanos
Conversão
Construções
if
for
while
• Exemplos
• Adivinhe o que este programa faz:
>>>print 'Hello World!'
Python Introdução
Características
Tipos de dados
Numéricos
Strings
Listas
Tuplas
Dicionários
Booleanos
Conversão
Construções
if
for
while
• Exemplos
• O programa abaixo implementa a música “99 Bottles of Beer”:
for quant in range(99, 0, -1):if quant > 1:
print quant, "bottles of beer on the wall,", quant, "bottles of beer."
if quant > 2:suffix = str(quant - 1) + " bottles of
beer on the wall."else:
suffix = "1 bottle of beer on the wall."elif quant == 1:
print "1 bottle of beer on the wall, 1 bottle of beer."
suffix = "no more beer on the wall!"print "Take one down, pass it around,", suffixprint "--"
Referências:
[1] Curso de Python – Gustavo Noronha Silva, Fórum Mineiro de Software Livre
[2] Python para desenvolvedores – Luis Eduardo Borges
[3] Computação Gráfica em Python – Luis Eduardo Borges
[4] Tutorial Python, Release 2.4.2 – Guido Van Rossum , Fred L. Drake, Jr.
[5] Por que as pessoas usam... Python? - Emerson Henrique, Thiago Paiva, I Jornada de Iniciação Científica da ASPER - Ciências da Computação e Processamento de Dados
Top Related