Python
Python
1
Índice
Comandos Python 1
Codificação 2
Números 3
Lógica Booleana 4
Strings 5
Variáveis 7
Variáveis Globais e Locais 7
Funções 8
Instruções Condicionais – if … elif … else 10
Instruções cíclicas 12
While 12
For 12
Controlo de estruturas de fluxo 13
Coleção de dados 14
Listas 14
Tuplos 18
Dicionários 18
Matrizes 19
Ficheiros 20
Classes 22
2
C
Codificação
# -*- coding: encoding -*- V
Controlo de fluxo
break XVI
continue XVI
D
Dicionário
dic = {'a': a, 'b': b,..., 'z': z} XXI
F
for x in range (): XVI
Funções
def (): XI
None XII
return XI
L
Lógica Booleana
False VII
True VII
N
Números
complex () VI
float () VI
int () VI
R
range (m, n, p) XV
S
Strings
len () IX
str () IX
string [inicio: fim: intervalo] IX
3
Comandos Python
1
Codificação
2
Números
Pode-se converter entre os diferentes tipos de data usando int (), float
() e complex (). Tem que se ter em consideração que não é possível
converter complexos em números inteiros ou decimais.
int (x) converte x num número inteiro
print (int (3.14159), int (-2.8)) # Run: 3 -2
Operadores Aritméticos
Precedência dos operadores = (), **, *, /, +, -
+ mais adição
- menos subtração
* vezes multiplicação
/ dividir por divisão retorna sempre um decimal
// quociente divisão inteira descarta a parte decimal
% resto
** elevado exponenciação
print (1 + 2, , 5 * 6, 2 ** 5, 49 // 10, 49 % 10) # Run: 3 30 -32 4 9
complex (re, im) Número complexo com parte real re e parte imaginária im
3
Lógica Booleana
Todos os valores podem ser ou verdadeiros ou falsos. O verdadeiro é
chamado True e é igual a 1, enquanto o falso é chamado False e é igual a
zero. São considerados falsos: False, None, 0 e qualquer sequência vazia.
São considerados verdadeiros, todos os outros objetos.
Operadores de comparação
> maior que
< menor que
>= maior ou igual que
<= menor ou igual que
== igual a
!= diferente
print ( 3 > 3) # Run: False
print ('Hello' == "Hello") # Run: True
Operadores Booleanos
Operador A B Result Descrição Exemplo
objeto
True se um item de s é
in x in s igual a x, caso
contrário é False
4
Strings
Têm que estar entre aspas simples ou duplas. Podem ser constituídas
por linhas consecutivas, desde que estejam entre três aspas simples ou
duplas.
Combinar strings
Strings podem ser juntas (sem espaço) com o operador + e podem ser
repetidas com *.
# Converte as horas num formato de 24-horas "03:00"
hour = 3
ones = hour % 10
tens = hour // 10
print (tens, ones, ":00") # Run: 0 3 :00
print (str (tens), str (ones), ":00") # Run: 0 3 :00
print (str (tens) + str (ones) + ":00") # Run: 03:00
Letras e porções
Nas strings pode-se seleccionar apenas uma letra ou determinada
porção da string. Para isso, indicia-se a string: começando na primeira
letra da string, considera-se que esta se encontra na posição zero;
começando na última letra da string considera-se que esta se encontra na
posição -1.
5
print (s [13:]) # Run: nice ties!
Converter em strings
Para converter números em strings utiliza-se str (number).
Formatação
Conversão Descrição
%d Número Inteiro
%o Valor octal
%x Hexadecimal
%f Número Decimal
Caracteres especiais
Representação Descrição
\n Paragrafo
\r Paragrafo
\r\n 2 * Paragrafo
\t Tabulação
Funções
x in s True se um elemento da lista s é igual a x
6
Variáveis
n = 0
def increment():
global n
n = n + 1
increment ()
increment ()
print (n) # Run: 2
7
Funções
8
# -*- coding: cp860 -*-
import math
9
Instruções Condicionais – if…elif…else
if condição 1:
bloco de instruções a executar quando a condição 1 é verdadeira
elif condição 2:
bloco de instruções a executar quando a condição 2 é verdadeira
else:
bloco a executar quando as condições anteriores são falsas
'''If the person I meet is my friend and I have more than 20$ I say Hi! and give
him 20$. If I meet a friend but don’t have 20$ I say Hello! And don’t give him
any money. If the person I meet is not my friend I say Ha ha and get 10$'''
money = 15
money = greet (True, money) # Run: Hello
print ("Money:", money) # Run: Money: 15
10
def conversoes_monetarias (escolha, escudos):
''' Converte escudos noutra unidade monetária à escolha'''
if escolha == 'a':
francos = 23.5 * escudos
return ('%d escudos = %d francos' % (escudos, francos))
elif escolha =='b':
libras = 300 * escudos
return ('%d escudos = %d libras' % (escudos, libras))
elif escolha =='c':
euros = escudos / 200.482
return ('%d escudos = %d euros' % (escudos, euros))
else:
return('Unidade monetária desconhecida')
11
Instruções cíclicas
While
O bloco de código dentro do while é repetido enquanto a condição for
verdadeira.
Adequado quando não há como determinar quantas iterações vão ocorrer
e não há uma sequência a seguir
while (condição):
bloco de instruções a executar enquanto a condição for verdadeira
# Soma de 0 a 99
s = 0
x = 1
while x < 100:
s = s + x
x = x + 1
print (s)
For
Iteração sobre os items de uma qualquer sequência (ex.: lista ou
string), na ordem em que eles se encontram na sequência.
for variável a iterar in sequência:
bloco de instruções a executar em cada iteração
# Soma de 0 a 99
s = 0
for x in range (1, 100):
s = s + x
print (s)
12
Controlo de estruturas de fluxo
name = 'bioinformatica'
for i in name:
if i == 'm':
break
print (i) # Run: bioinfor
name = 'bioinformatica'
for i in range (len (name)):
if i >= 5 and i <= 8:
continue
print (name [i]) # Run: bioinatica
13
Coleção de dados
Listas
Variáveis capazes de guardar um conjunto de objectos de vários tipos
(strings, valores numéricos, listas, etc...). Uma lista é uma sequência
de objectos ordenados, em que se pode acrescentar, remover e modificar
objectos. Esta define-se através do uso de parêntesis rectos como
delimitadores, em que os seus elementos são separados por vírgulas.
l = []
l1= [1, 2, 3]
l2 = ['Ana', 'Isa', 'Hugo', 'Joaquina']
Consultar listas
s [i] Elemento da lista que se encontra na posição i
14
Funções sobre listas
len (s) Comprimento da lista s
Modificar listas
s [i] = x O elemento da posição i é substituído por x
s.extend (t)
Junção das listas s e t
or s += t
l2 [0] = 'Francisco'
print (l2) # Run: ['Francisco', 'Isa', 'Hugo', 'Joaquina']
l2.append ('Rosa')
print (l2) # Run: ['Francisco', 'Isa', 'Hugo', 'Joaquina', 'Rosa']
l2.pop ()
print (l2) # Run: ['Francisco', 'Isa', 'Hugo', 'Joaquina']
15
''' Cria uma lista com n números'''
seq = [] #lista
n = int (input ('Insira quantos elementos tem a sequência: '))
for i in range (n):
x = float (input ('Insira %.f número: ' % (i + 1)))
seq.append (x)
return (seq)
16
''' Encontra os três maiores e menores números de uma sequência'''
maximos = []
minimos = []
if len(seq) >= 6:
while len (maximos) < 3:
maximos.append (max (seq))
seq.remove (max (seq))
while len (minimos) < 3:
minimos.append (min (seq))
seq.remove (min (seq))
return ('Três maiores: %r\nTrês menores: %r' % (maximos, minimos))
else:
return ('A sequência tem que ter 6 ou mais elementos')
17
Tuplos
Semelhantes as listas, porém são imutáveis: não se pode acrescentar,
Dicionários
Um dicionário é uma lista de associações compostas por uma chave
única e estruturas correspondentes. Dicionários são mutáveis, tais como
as listas.
A chave precisa ser de um tipo imutável, geralmente são usadas
strings, mas também podem ser tuplas ou tipos numéricos. Já os itens dos
dicionários podem ser tanto mutáveis quanto imutáveis. O dicionário do
Python não fornece garantia de que as chaves estarão ordenadas.
Criação de um dicionário: dic = {'a': a, 'b': b,..., 'z': z}
18
Matrizes
São implementadas como listas de uma lista, sendo que cada lista
representa uma linha da matriz.
19
Ficheiros
Modo Descrição
20
Após ler ou escrever ficheiros existe uma função close () para
fechar esses mesmos ficheiros. É importante aplicar esta função após uma
tarefa de leitura ou escrita porque enquanto o ficheiro estiver aberto,
está-se desnecessariamente a ocupar recursos do sistema, principalmente
memória. A função é utilizada do seguinte modo: ficheiro.close ().
21
Classes
22
---------------------??????????????????????------------------------------
def factorial (n):
''' Calcula o fatorial de um número'''
if n < 0:
return ('{}. Fatorial não é definido por números negativos')
elif n == 0 or n == 1:
return (1)
else:
fatorial = n * factorial (n - 1)
return (fatorial)
23