Você está na página 1de 34

Linguagem de Programação

(Python)
P ROF ESSOR: R I CAR DO SAN TOS DE F R AN ÇA
E MA I L: R I CA R DO.SFR ANCA @PROF ESSOR .EDU CACAO.PE.GOV.BR
Introdução
• 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;


Características
• É 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.


Características
• É 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)
Características
• É 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#.


Características
• 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);
Tipos de dados (Numéricos)
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
Tipos de dados (Numéricos)
• 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)


Tipos de dados (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:

>>> 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.


Tipos de dados (Strings)
• 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
Tipos de dados (Strings)
• Mais exemplos:

>>> print (st[15:27])

Sistemas e

>>> print (st[::-1])

oacatupmoC e sametsiS ed otnematrapeD


Tipos de dados (Strings)
Operações envolvendo strings:

• Concatenação:
>>> st='estou'
>>> s=' em casa'
>>> print (st+s)
estou em casa
>>> s='estou' ' em casa'
>>> print (s)
estou em casa
• Interpolação:
>>> st='vida boa'
>>> print (“o comprimento de %s é %d” % (st,len(st)) )
o comprimento de vida boa é 8
Tipos de dados (Strings)
Operações envolvendo strings:
• Uso da string como sequencia:
>>> for c in s:
... print (c)
...
U
E
R
J

• Repetição de strings:

>>>3*'string'
'stringstringstrig‘
Tipos de dados (Strings)
• Métodos:

>>> 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
Tipos de dados (Listas)
• 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
Tipos de dados (Listas)
• 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']
Tipos de dados (Listas)
• 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]
Tipos de dados (Listas)
>>> 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]
Tipos de dados (Listas)
• 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']

• Os elementos da lista podem ser alterados. Exemplo:


>>> lista=[1,2,3]
>>> lista[2]='elemento'
>>> print (lista)
[1, 2, 'elemento']
Tipos de dados (Listas)
• 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.
Tipos de dados (Tuplas)
• 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.
Tipos de dados (Dicionários)
• 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.


Tipos de dados (Dicionários)
• 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.

• 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}
Tipos de dados (Dicionários)
• 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 índice
c
Tipos de dados (Booleanos)
• 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.
Conversão
• 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
>>>
Construções (if)
• 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>
Construções (if)
• 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>
Construções (for)
• Utilizado para percorrer listas ,sequencias e processar iteradores.

• Sintaxe:

for <referência> in <sequencia>:


<bloco de expressões>
continue
break
else:
<bloco de expressões>
Construções (for)
• 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
Construções (for)
• 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
Construções (while)
• É utilizada para realizar iterações condicionais, onde não se sabe o momento em
que as iterações terminam.

• Sintaxe:
•Exemplo:
while<condição>:
<bloco de expressões>
>>> a=0
continue
>>> while a<5:
break
... print (a)
else:
... a+=2
<bloco de expressões>
...
0
2
4
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 ("--“)
Dúvidas?

Professor: Ricardo Santos de França


E-mail: ricardo.sfranca@professor.educacao.pe.gov.br

Você também pode gostar