Folha de consulta Python
Uma referência pesquisável e imprimível de Python 3 — sintaxe, estruturas de dados, comprehensions, funções, classes, ficheiros e a biblioteca padrão. Grátis.
Variáveis e tipos
10x = 1
Atribuir uma variável (tipagem dinâmica)
x: int = 1
Anotação de tipo opcional
a, b = 1, 2
Atribuição múltipla
type(x)
Obter o tipo de um valor
int('42')
Converter string em inteiro
str(42)
Converter valor em string
isinstance(x, int)
Checagem de tipo
None
O valor null/de ausência
x = y = 0
Atribuição encadeada
PI: Final = 3.14
Dica de constante (typing.Final)
Strings
11f'Hello {name}'
Interpolação de f-string
len(s)
Tamanho da string
s.upper()
Converter para maiúsculas
s.strip()
Remover espaços ao redor
s.split(',')
Dividir em uma lista
','.join(items)
Juntar uma lista com um separador
s.replace('a', 'b')
Substituir substrings
'a' in s
Teste de pertinência
s[1:4]
Fatiar caracteres 1 a 3
s[::-1]
Inverter uma string
s.startswith('a')
Verificar o prefixo
Listas e tuplas
10a = [1, 2, 3]
Criar uma lista
a.append(4)
Adicionar um item ao final
a.insert(0, x)
Inserir em um índice
a.pop()
Remover e retornar o último item
a[1:3]
Fatiar uma sublista
sorted(a, reverse=True)
Retornar uma cópia ordenada
a.sort(key=len)
Ordenar in-place por uma chave
len(a)
Número de itens
t = (1, 2)
Tupla imutável
first, *rest = a
Desempacotar com asterisco
Dicts e sets
10d = {'k': 'v'}
Criar um dicionário
d['k']
Acessar um valor por chave
d.get('k', default)
Obter com um fallback
d.keys() / d.values()
Ver chaves ou valores
d.items()
Iterar pares chave/valor
{**a, **b}
Mesclar dicionários
a | b
Operador de união de dict/set
del d['k']
Remover uma chave
s = {1, 2, 3}
Criar um set (valores únicos)
set(a) & set(b)
Interseção de sets
Compreensões
8[x * 2 for x in a]
Compreensão de lista
[x for x in a if x > 0]
Compreensão filtrada
{x: x**2 for x in a}
Compreensão de dict
{x for x in a}
Compreensão de set
(x for x in a)
Expressão geradora (lazy)
[y for row in m for y in row]
Achatar com loops aninhados
[a if c else b for x in items]
Valor condicional em compreensão
sum(x for x in a)
Agregar um gerador
Fluxo de controle
9if x > 0:\n ...
Condicional (a indentação importa)
elif / else:
Ramos adicionais
a if cond else b
Expressão ternária
for x in range(10):
Iterar sobre um range
for i, x in enumerate(a):
Iterar com um índice
for a, b in zip(x, y):
Iterar dois iteráveis juntos
while cond:
Repetir enquanto verdadeiro
break / continue
Sair ou pular uma iteração
match x:\n case 1: ...
Correspondência estrutural de padrões (3.10+)
Funções
8def f(a, b=1): return a + b
Função com argumento padrão
def f(*args, **kwargs):
Args posicionais + nomeados variádicos
f(name='Sam')
Chamar com um argumento nomeado
lambda x: x + 1
Função anônima inline
def f(a: int) -> int:
Type hints para parâmetros e retorno
@decorator
Envolver uma função com um decorator
yield value
Produzir um valor de um gerador
global x / nonlocal x
Religar uma variável de escopo externo
Classes
9class A(Base):
Classe com herança
def __init__(self, x):
Construtor / inicializador
self.x = x
Atributo de instância
def __str__(self):
Representação em string
@property
Atributo somente leitura computado
@staticmethod / @classmethod
Métodos estáticos e de classe
super().__init__()
Chamar o inicializador do pai
@dataclass
Gerar init/repr/eq automaticamente
isinstance(obj, A)
Verificar o tipo da instância
Arquivos, erros e módulos
9with open('f.txt') as fh:
Abrir um arquivo (fechado automaticamente)
fh.read() / fh.readlines()
Ler o conteúdo do arquivo
open('f.txt', 'w').write(s)
Escrever em um arquivo
try:\n ...\nexcept ValueError as e:
Capturar uma exceção específica
raise ValueError('bad')
Lançar uma exceção
finally:
Bloco de limpeza sempre executado
import os
Importar um módulo
from math import sqrt
Importar um nome específico
import numpy as np
Importar com um alias
Nenhuma entrada corresponde a “:q”.
Precisa de ajuda?
Encontrou um problema com esta ferramenta? Avise a nossa equipa.