Você está na página 1de 2

Mémento v1.2.

2 Documentação oficial de Python


©2012-2013 - Laurent Pointal
Licencia Creative Commons Atribución 2 Folha Resumo de Python 3 http://docs.python.org/py3k

inteiros, reais, lógicos, cadeias Tipos Base Tipos Containers


◾ sequência ordenada, índices rápidos, valores repetíveis
int 783 0 -192 list [1,5,9] ["x",11,8.9] ["texto"] []
float 9.23 0.0 -1.7e-6 tuple (1,5,9) 11,"y",7.4 ("texto",) ()
10-6 imutável Expressão separada por virgulas
bool True False
str como sequência ordenada de caracteres
str "Um\nDois" 'Pa\'mim' ◾ sem ordem anterior, chave única, índices rápidos ; chaves = tipos base ou tuplas
nova linha ' escaped dict {"chave":"valor"} {}
dicionário
multilinha """X\tY\tZ {1:"um",3:"três",2:"dois",3.14:"π"}
associações chave/valor
cadeia imutável, 1\t2\t3"""
sequência ordenada de letras tabulação set {"key1","key2"} {1,9,3,0} set()
para variáveis, funções, Identificadores tipo(expressão) Conversões
módulos, classes… nomes
a‥zA‥Z_ seguidos de a‥zA‥Z_0‥9 int("15") podemos especificar a base no 2 parâmetro o

◽ acentos permitidos mas melhor evitar int(15.56) trunca a parte decimal (round(15.56) para arredondar)
◽ proibido usar palavras reservadas python float("-11.24e8")
◽ distingue minúsculas/MAIÚSCULAS
str(78.3) e a representação literal repr("Texto")
☺ a toto x7 y_max BigOne ver o verso para descobrir como formatar cadeias
☹ 8y and
bool use comparadores (com ==, !=, <, >, …), resultado lógico

list("abc") use cada elemento ['a','b','c']


Atribuição de Variáveis
de uma sequência
x = 1.2+8+sin(0) dict([(3,"três"),(1,"um")]) {1:'um',3:'três'}
valor ou expressão calculada use cada elemento
nome de variável (identificador) set(["um","dois"]) de uma sequência {'um','dois'}
y,z,r = 9.2,-7.6,"bad"
":".join(['toto','12','pswd']) 'toto:12:pswd'
nome de container com vários
unir cadeias sequência de cadeias
variável valores (aqui uma tupla)
somar "palavras e espaços".split() ['palavras','e','espaços']
x+=3 subtrair x-=2 "1,4,8,2".split(",") ['1','4','8','2']
x=None «indefinido» valor constante separar cadeias

para listas, tuplas, cadeias, … Índices de sequências


índices negativos -6 -5 -4 -3 -2 -1 len(lst) 6
índices positivos 0 1 2 3 4 5 acesso individual aos valores [índice]
lst=[11, 67, "abc", 3.14, 42, 1968] lst[1]→67 lst[0]→11 primeiro valor
corte positivo 0 1 2 3 4 5 lst[-2]→42 lst[-1]→1968 último valor
corte negativo -6 -5 -4 -3 -2 -1 acesso a sub-sequências via [inicio corte:fim corte:passos]
lst[:-1]→[11,67,"abc",3.14,42] lst[1:3]→[67,"abc"]
lst[1:-1]→[67,"abc",3.14,42] lst[-3:-1]→[3.14,42]
lst[::2]→[11,"abc",42] lst[:3]→[11,67,"abc"]
lst[:]→[11,67,"abc",3.14,42,1968] lst[4:]→[42,1968]
Omitindo o parâmetro de corte → de principio / até o fim.
Em sequências mutáveis, pode-se eliminar elementos com del lst[3:5] modificar com designação lst[1:4]=['hop',9]

Lógica Booleana Bloco de Sentenças bloco de sentenças que Sentenças Condicionais


Comparadores: < > <= >= == != sentença mãe: só será executado se a condição é verdadeira
≤ ≥ = ≠
a and b 'e' lógico
bloco de sentenças 1… if expressão lógica:
ambos simultaneamente ⁝ bloco de sentencias
a or b 'ou' lógico sentença mãe:
¡sangría!

um, outro, ou ambos pode ter vários elif, elif... e só um else ao final,
bloco de sentenças 2… exemplo:
not a 'não' lógico

True valor constante verdadeiro if x==42:
False valor constante falso sentença depois o bloco 1 # só se a expressão lógica x==42 é verdadeira
print("Realmente verdadeira")
elif x>0:
☝ números reais… valores aproximados! ângulos em radianos Matemáticas # se não, se a expressão lógica x>0 é verdadeira
Operadores: + - * / // % ** from math import sin,pi… print("Somos positivos")
× ÷ ab elif estamosProntos:
÷ inteiros resto de ÷
sin(pi/4)→0.707…
cos(2*pi/3)→-0.4999… # se não, se a variável lógica é verdadeira
(1+5.3)*2→12.6 print("Sim, estamos prontos")
acos(0.5)→1.0471…
abs(-3.2)→3.2 else:
sqrt(81)→9.0 √ # nos demais casos
round(3.57,1)→3.6 log(e**2)→2.0 etc. (cf doc) print("Todo o anterior não foi")
bloco de sentencias repetido Sentença Loop Condicional bloco de sentencias executadas Sentença Loop Iterador
enquanto a condição é certa para cada item de um contenedor ou iterador
while expressão lógica: for variável in sequência:
bloco de sentencias Controle de Loop bloco de sentenças
s = 0
i = 1 inicializações antes do laço break verifique os valores da sequência
sair imediatamente
Condição com pelo menos um valor variável (aqui i) continue s = "um texto" inicializamos antes do laço
próxima iteração cnt = 0
while i <= 100: variável do laço, valor manejado pela sentencia for
i=100
# sentencias executam-se enquanto i ≤ 100 for c in s: Conte a quantidade
s = s + i**2 s=
alteramos o valor condicional i=1
i2 ∑ if c == "t": de letras t na cadeia
i = i + 1 cnt = cnt + 1
print("encontramos",cnt,"'t'")
print("suma:",s) resultado depois do laço loop de um dict/set = loop a sequência de chaves
use cortes para verificar uma subsequência
Verifique os índices de uma sequência
Entrada / Saída ◽ modificar o item no índice
print("v=",3,"cm :",x,",",y+4) ◽ acessar itens em volta do índice (antes/depois)
lst = [11,18,9,12,23,4,17]
perdidos = []
itens a escrever: valores literais, variáveis, expressões
for idx in range(len(lst)):
parâmetros de print:
◽ sep=" " (separador de itens, por padrão espaço)
val = lst[idx] Limita os valores
if val > 15: maiores a 15, guarda
◽ end="\n" (caractere final, por padrão nova linha)
◽ file=f (escrever arquivo, por padrão saída estandard) perdidos.append(val) os valores perdidos.
lst[idx] = 15
s = input("Instruções:") print("modif:",lst,"-perd:",perdidos)
☝input sempre retorna uma cadeia, converter ao tipo requerido Verificar simultaneamente os índices e valores de uma sequência:
(revisar Conversões ao verso). for idx,val in enumerate(lst):
len(c)→ contagem de itens Operações sobre Containers uso frequente em Gerador de Sequências de Inteiros
min(c) max(c) sum(c) Nota: Para dicionários e conjuntos, loop iterativos for por padrão 0 não inclusivo
sorted(c) → cópia ordenada estas operações usam as chaves. range([inicio,]fim [,passo])
valor in c → lógico, operador de presença in (ausência not in) range(5) 0 1 2 3 4
enumerate(c)→ iterador sobre (índice, valor)
Especial para containers de sequências (listas, tuplas, cadeias) : range(3,8) 3 4 5 6 7
reversed(c) → iterador reverso c*5 → duplicados c+c2 → concatenar range(2,12,3) 2 5 8 11
c.index(val) → posição c.count(val)→ conta ocorrências range retorna um « gerador », converter em lista para ver
os valores, por exemplo:
☝ modificar lista original Operações sobre Listas print(list(range(4)))
lst.append(item) adicionar item ao final
lst.extend(seq) adicionar sequência de itens ao final
Definir Funções
nome da função (identificador)
lst.insert(idx,val) adicionar item ao índice
lst.remove(val) elimina primeiro item com valor parâmetros nomeados
lst.pop(idx) elimina item do índice e retorna seu valor def nomefunc(p_x,p_y,p_z):
lst.sort() lst.reverse() ordena / reverte a lista original
"""documentação"""
Operações em Dicionários Operações em Conjuntos # bloco de sentenças, calcula result., etc.
d[chave]=valor d.clear() Operadores: valor resultado.
| → união (barra vertical)
return res se não ha resultado, então
d[chave]→valor del d[chave] & → interseção ☝ parâmetros e variáveis desse bloco
d.update(d2) atualiza/adiciona Só existem dentro do bloco e durante retorna: return None
- ^ → diferença/diferença simétrica
associações a chamada à função ("caixa preta")
d.keys() < <= > >= → relações de inclusão
d.values() ver chaves, valores s.update(s2) s.add(chave) Invocar Funciones
d.items() e associações s.remove(chave) r = nomefunc(3,i+2,2*i)
d.pop(chave) s.discard(chave) um argumento por parâmetro
obter o valor de retorno (se necessário)
gravar dados no disco, reler os dados Arquivos
f = open("doc.txt","w",encoding="utf8") Formatação de Cadeias
diretivas de formatação valores a formatar
variável para nome do modo de abertura codificação de "model {} {} {}".format(x,y,r) str
operações arquivo ◽ 'r' ler caracteres em "{seleção:formatação!conversão}"
(+caminho…) ◽ 'w' escrever arquivo de texto: ◽ Seleção : "{:+2.3f}".format(45.7273)
◽ 'a' adicionar… utf8 ascii 2 →'+45.727'
Exemplos

consulte funções nos módulos os e os.path latin1 … x "{1:>10s}".format(8,"toto")


0.nome
escritura Cadeia vazia se fim de arquivo leitura 4[chave]
→' toto'
f.write("oi!") s = f.read(4)se n. de caracteres 0[2] "{!r}".format("I'm")
◽ Formatação: →'"I\'m"'
☝ arquivo de texto → lê / escreve só ler a próxima não especificado, enchimento tabulação signo largura mín.precisão~largura máx tipo
textos, converte de/para tipo linha ler todo o arquivo
requerido. s = f.readline() <>^= + - espaço 0 ao inicio para prencher com 0
f.close() ☝ não esqueça fechar o arquivo no final inteiros: b binário, c caractere, d decimal (padrão), o octal, x or X hexa
Fechado automático usando : with open(…) as f: reais: e o E exponencial, f ou F ponto fixo, g ou G geral (padrão), 
Bem comum: loop para ler as linhas de um arquivo de textos % percentagem
for linha in f : cadeia: s …
# bloco que processa cada linha ◽ Conversão : s (texto legível) ou r (representação literal)

Tradução ao Português, 2015 – Mauricio Muñoz Lucero

Você também pode gostar