Slide 1

Propaganda
Python
Uma 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
engenheiros;
principal
foco
auxiliar
físicos
e
• O nome é uma homenagem ao grupo humorístico
britânico Monty Python, criador do programa Monty
Python's Flying Circus;
• Linguagem
de
programação
desenvolvimento comunitário;
livre,
com
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
dinâmica;
linguagem
com
tipagem
forte,
porém
• Estrutura simples (não é necessário digitar pontoe-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
identação, Ex:
(1)
(2)
(3)
(4)
de
while x<100:
s=s+x
x=x+1
print s
blocos
é
feita
através
de
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
• Integração com outros programas como linguagem
de script.
Strings
•
Listas
O Python permite acessar todas as estruturas do
Blender (operações 3D, manipulação de materiais,
texturas e ambientes de cenas);
Tuplas
Dicionários
Booleanos
Conversão
Controle de fluxo
if
for
while
Exemplos
•
Blender:
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
Tipos numéricos:
•
inteiro (int):
>>>a=10
•
inteiro longo (long):
Tuplas
>>>a=9999999999999
Dicionários
•
Booleanos
>>>a=1.294 (ou ainda 12.94e-1)
ponto flutuante (float):
Conversão
•
Controle de fluxo
>>>a=1+2j
if
for
while
Exemplos
complexo (complex):
Python
Introdução
Características
•
+ (Soma)
- (Subtração)
* (Multiplicação)
/ (Divisão)
// (Divisão inteira)
** (Exponenciação)
% (Resto de divisão inteira)
• Tipos de dados
• Numéricos
Strings
Listas
Tuplas
Dicionários
Booleanos
Conversão
Controle de fluxo
if
for
while
Exemplos
Operadores:
•
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
•
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:
Listas
Tuplas
Dicionários
Booleanos
Conversão
Controle de fluxo
if
for
while
Exemplos
>>> st='UERJ'
>>> print st[0]
U
>>> print st[-4]
U
>>> print st[-len(st)]
U
• Todos os exemplos
caractere da string st.
acima retornam o último
Python
Introdução
•
Mais exemplos:
>>> st='Departamento de Sistemas e Computacao'
Características
• Tipos de dados
Numéricos
• Strings
>>> print st[:15]
Departamento de
>>> print st[27:]
Listas
Tuplas
Computacao
Dicionários
>>> print st[:15],st[27:]
Booleanos
Departamento de Computacao
Conversão
Controle de fluxo
>>> print st[15:27]
if
Sistemas e
for
>>> print st[::-1]
while
Exemplos
oacatupmoC e sametsiS ed otnematrapeD
Python
Operações envolvendo strings:
Introdução
•
Características
>>> st='estou'
>>> s=' em casa'
>>> print st+s
estou em casa
>>> s='estou' ' em casa'
>>> print s
• Tipos de dados
Numéricos
• Strings
Listas
Tuplas
Dicionários
Booleanos
•
Concatenação:
Interpolação:
>>> st='vida boa'
>>> print “o comprimento de %s é %d” % (st,len(st))
o comprimento de vida boa é 8
Conversão
•
Controle de fluxo
>>> for c in s:
... print c
...
U
E
R
J
if
for
while
Exemplos
Uso da string como sequencia:
Python
Introdução
Características
• Tipos de dados
Numéricos
•
Repetição de strings:
>>>3*'string'
'stringstringstrig‘
•
Métodos:
• Strings
Listas
Tuplas
Dicionários
Booleanos
Conversão
Controle de fluxo
if
for
while
Exemplos
>>> s='UERJ'
>>> print s.lower() #retorna a string com caracteres minúsculos
uerj
>>> 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
• 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.
Conversão
Controle de fluxo
if
for
while
Exemplos
>>> 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
• Os elementos da lista podem ser alterados. Exemplo:
>>> lista=[1,2,3]
>>> lista[2]='elemento'
>>> print lista
[1, 2, 'elemento']
Numéricos
•
Strings
>>> lista.append(8) #incluindo elemento
• Listas
Métodos úteis:
>>> lista.remove(lista[1]) #removendo elemento a partir do índice
Tuplas
Dicionários
>>> lista.remove(2) #removendo o elemento a partir da descrição
do mesmo
Booleanos
Conversão
>>> lista.sort() #ordena a lista
Controle de fluxo
>>> lista.reverse() #inverte a lista
if
for
while
Exemplos
• 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
•
Operações com dicionários:
Numéricos
>>> 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}
Strings
•
Características
• Tipos de dados
Métodos úteis com dicionários:
Listas
Tuplas
• Dicionários
Booleanos
Conversão
Controle de fluxo
if
for
while
Exemplos
>>> 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 índice
c
Python
Introdução
Características
• Tipos de dados
• O tipo booleano é uma implementação do tipo
inteiro.
Numéricos
•
Ele pode assumir os valores True ou False.
Strings
•
São considerados como False:
Listas
Tuplas
Dicionários
• Booleanos
Conversão
Controle de fluxo
if
for
while
Exemplos
-
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 float
25.0
>>> x='25'
>>> int(x) # retorna x convertido para inteiro
25
>>> float(x) # retorna x convertido para float
25.0
>>>
Python
Introdução
Características
Tipos de dados
Numéricos
• A construção if é utilizada para controle condicional
e tem a seguinte sintaxe:
Strings
Listas
Tuplas
Dicionários
Booleanos
Conversão
• Construções
•
if
for
while
Exemplos
if <condição>:
<expressão 1>
elif <condição 2>:
<expressão 2>
else:
<expressão 3>
Python
Introdução
•
Características
and - retorna verdadeiro caso todas as entradas forem
verdadeiro;
Tipos de dados
Numéricos
Strings
Listas
Tuplas
Dicionários
Booleanos
Conversão
Operadores lógicos:
or - retorna verdadeiro caso uma das entradas for
verdadeiro;
not - se a entrada for verdadeira passará a falsa e viceversa;
is - retorna verdadeiro caso receba duas referências ao
mesmo objeto (útil para comparar strings);
• Construções
in - retorna verdadeiro caso receba uma entrada que é
encontrada uma ou mais vezes em uma lista.
•
•
if
for
while
Exemplos
Expressões condicionais:
<variavel>=<valor1> if <condição> else <valor2>
Python
Introdução
Características
Tipos de dados
Numéricos
• Utilizado para percorrer
processar iteradores.
Strings
•
Listas
Tuplas
Dicionários
Booleanos
Conversão
• Construções
if
•
for
while
Exemplos
Sintaxe:
for <referência> in <sequencia>:
<bolco de expressões>
continue
break
else:
<bolco de expressões>
listas
,sequencias
e
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>
continue
break
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,", suffix
print "--"
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
Download