Chuleta de Python
Una referencia de Python 3 buscable e imprimible: sintaxis, estructuras de datos, comprensiones, funciones, clases, archivos y la biblioteca estándar. Gratis.
Variables y tipos
10x = 1
Asigna una variable (tipado dinámico)
x: int = 1
Anotación de tipo opcional
a, b = 1, 2
Asignación múltiple
type(x)
Obtiene el tipo de un valor
int('42')
Convierte un string a entero
str(42)
Convierte un valor a string
isinstance(x, int)
Verificación de tipo
None
El valor null/de ausencia
x = y = 0
Asignación encadenada
PI: Final = 3.14
Indicador de constante (typing.Final)
Strings
11f'Hello {name}'
Interpolación con f-string
len(s)
Longitud del string
s.upper()
Convierte a mayúsculas
s.strip()
Elimina espacios al inicio y fin
s.split(',')
Divide en una lista
','.join(items)
Une una lista con un separador
s.replace('a', 'b')
Reemplaza subcadenas
'a' in s
Prueba de pertenencia
s[1:4]
Corta los caracteres 1 a 3
s[::-1]
Invierte un string
s.startswith('a')
Comprueba el prefijo
Listas y tuplas
10a = [1, 2, 3]
Crea una lista
a.append(4)
Agrega un elemento al final
a.insert(0, x)
Inserta en un índice
a.pop()
Elimina y devuelve el último elemento
a[1:3]
Corta una sublista
sorted(a, reverse=True)
Devuelve una copia ordenada
a.sort(key=len)
Ordena in situ por una clave
len(a)
Número de elementos
t = (1, 2)
Tupla inmutable
first, *rest = a
Desempaqueta con un asterisco
Dicts y sets
10d = {'k': 'v'}
Crea un diccionario
d['k']
Accede a un valor por clave
d.get('k', default)
Obtiene con un valor de respaldo
d.keys() / d.values()
Ve las claves o los valores
d.items()
Itera pares clave/valor
{**a, **b}
Fusiona diccionarios
a | b
Operador de unión de dict/set
del d['k']
Elimina una clave
s = {1, 2, 3}
Crea un set (valores únicos)
set(a) & set(b)
Intersección de sets
Comprensiones
8[x * 2 for x in a]
Comprensión de listas
[x for x in a if x > 0]
Comprensión con filtro
{x: x**2 for x in a}
Comprensión de diccionarios
{x for x in a}
Comprensión de sets
(x for x in a)
Expresión generadora (perezosa)
[y for row in m for y in row]
Aplana con bucles anidados
[a if c else b for x in items]
Valor condicional en una comprensión
sum(x for x in a)
Agrega un generador
Flujo de control
9if x > 0:\n ...
Condicional (la indentación importa)
elif / else:
Ramas adicionales
a if cond else b
Expresión ternaria
for x in range(10):
Itera sobre un rango
for i, x in enumerate(a):
Itera con un índice
for a, b in zip(x, y):
Itera dos iterables a la vez
while cond:
Itera mientras sea verdadero
break / continue
Sale o salta una iteración
match x:\n case 1: ...
Coincidencia de patrones estructural (3.10+)
Funciones
8def f(a, b=1): return a + b
Función con un argumento por defecto
def f(*args, **kwargs):
Args variádicos posicionales + por palabra clave
f(name='Sam')
Llama con un argumento por palabra clave
lambda x: x + 1
Función anónima en línea
def f(a: int) -> int:
Anotaciones de tipo para params y retorno
@decorator
Envuelve una función con un decorador
yield value
Produce un valor desde un generador
global x / nonlocal x
Reasigna una variable de ámbito externo
Clases
9class A(Base):
Clase con herencia
def __init__(self, x):
Constructor / inicializador
self.x = x
Atributo de instancia
def __str__(self):
Representación en string
@property
Atributo calculado de solo lectura
@staticmethod / @classmethod
Métodos estáticos y de clase
super().__init__()
Llama al inicializador del padre
@dataclass
Autogenera init/repr/eq
isinstance(obj, A)
Comprueba el tipo de instancia
Archivos, errores y módulos
9with open('f.txt') as fh:
Abre un archivo (se cierra automáticamente)
fh.read() / fh.readlines()
Lee el contenido de un archivo
open('f.txt', 'w').write(s)
Escribe en un archivo
try:\n ...\nexcept ValueError as e:
Captura una excepción específica
raise ValueError('bad')
Lanza una excepción
finally:
Bloque de limpieza siempre ejecutado
import os
Importa un módulo
from math import sqrt
Importa un nombre específico
import numpy as np
Importa con un alias
Ninguna entrada coincide con “:q”.
¿Necesitas ayuda?
¿Encontraste un problema con esta herramienta? Avísanos.