Busca por concepto o por código. El índice vuelve a mostrar todos los bloques.
9 bloques disponibles.
Variables, tipos y operadores
Asigna con = y compara con ==. Los tipos habituales son int, float, str, bool y None para representar la ausencia de un valor.
cantidad = 3 # int
precio = 2.5 # float
nombre = "cuaderno" # str
disponible = True # bool
resultado = None
print(cantidad * precio) # 7.5
print(int("12") + 1) # 13
print(7 // 2, 7 % 2, 2 ** 3) # 3 1 8
print(cantidad == 3) # True/ divide; // obtiene la división entera por suelo; % obtiene el resto; ** calcula una potencia. int("3.5") falla porque ese texto no representa un entero.
Entenderlo: variables y tipos · operadores.
Strings: formato, limpieza y slicing
Los strings son inmutables. Métodos como strip o lower devuelven texto nuevo; asigna el resultado si quieres conservarlo.
texto = " Python "
limpio = texto.strip()
print(limpio.lower()) # python
print(f"Aprendo {limpio}") # Aprendo Python
print(limpio[:3]) # Pyt
print(limpio[-1]) # n
print("a,b,c".split(",")) # ['a', 'b', 'c']
print("-".join(["a", "b", "c"])) # a-b-c
print("th" in limpio) # TrueEn texto[inicio:fin:paso], el límite fin queda fuera. Un índice individual fuera del rango produce IndexError; un slice puede quedar vacío sin provocar ese error.
Listas, tuplas y sets
Usa una lista para una secuencia modificable, una tupla para una secuencia inmutable y un set para elementos únicos sin depender de su orden. Los valores de un set deben ser hashables.
numeros = [3, 1, 3]
numeros.append(2)
print(numeros) # [3, 1, 3, 2]
print(sorted(numeros)) # [1, 2, 3, 3]
print(numeros) # La original sigue igual
punto = (10, 20)
x, y = punto
print(x, y) # 10 20
unicos = set(numeros)
print(sorted(unicos)) # [1, 2, 3]
dobles = [n * 2 for n in numeros if n > 1]
print(dobles) # [6, 6, 4]lista.sort() modifica la lista y devuelve None; sorted(lista) devuelve una lista nueva. {} crea un diccionario vacío: para un set vacío usa set().
Entenderlo: listas · tuplas · sets · comprehensions.
Diccionarios: claves, valores y get
Un diccionario asocia claves únicas con valores. datos[clave] exige que la clave exista; datos.get(clave, alternativa) devuelve la alternativa si falta.
usuario = {"nombre": "Ana", "puntos": 4}
usuario["puntos"] += 1
print(usuario["nombre"]) # Ana
print(usuario.get("nivel", 1)) # 1
print("puntos" in usuario) # True
for clave, valor in usuario.items():
print(f"{clave}: {valor}")
# nombre: Ana
# puntos: 5in comprueba las claves del diccionario. Para comprobar sus valores, usa valor in datos.values(). Evita añadir o eliminar claves mientras recorres el mismo diccionario.
Entenderlo: diccionarios · KeyError.
Condiciones y comparaciones
Elige una rama con if, elif y else. Usa and, or y not para combinar condiciones; is None comprueba la ausencia de un valor.
nota = 7
if nota >= 9:
resultado = "Excelente"
elif nota >= 5:
resultado = "Aprobado"
else:
resultado = "Repasar"
print(resultado) # Aprobado
print(0 <= nota <= 10) # True
pendiente = None
if pendiente is None:
print("Sin dato todavía")
if not []:
print("La lista está vacía")Cero, texto vacío, colecciones vacías y None son falsos en una condición. == compara valores; is compara identidad y no es el sustituto de == para números o textos.
Entenderlo: condicionales · operadores lógicos.
Bucles: for, range, enumerate y while
Un for recorre elementos. Un while repite mientras una condición sea verdadera: su cuerpo debe acercarte al momento en que deje de serlo.
for numero in range(3):
print(numero) # 0, después 1, después 2
for posicion, nombre in enumerate(["Ana", "Luis"], start=1):
print(posicion, nombre) # 1 Ana / 2 Luis
intentos = 0
while intentos < 2:
intentos += 1
print(intentos) # 2
for numero in [1, 2, 3, 4]:
if numero == 2:
continue # Salta este elemento
if numero == 4:
break # Termina el bucle
print(numero) # 1 y 3range(inicio, fin, paso) excluye fin. break termina el bucle más interno; continue pasa a su siguiente iteración.
Entenderlo: for · while · break y continue.
Funciones: def, parámetros y return
Define una función con def, recibe datos en sus parámetros y devuelve un resultado con return. Puedes pasar argumentos por nombre.
def multiplicar(valor, factor=2):
"""Devuelve valor multiplicado por factor."""
return valor * factor
print(multiplicar(5)) # 10
print(multiplicar(5, factor=3)) # 15
resultado = multiplicar(4)
assert resultado == 8Sin un return explícito, una función devuelve None. Evita listas o diccionarios como valores predeterminados modificables: utiliza None y crea la colección dentro de la función.
Entenderlo: funciones · 10 ejercicios de funciones.
Archivos, rutas y JSON
with cierra un archivo al salir del bloque. Indica la codificación al trabajar con texto. El modo w reemplaza el contenido existente; x exige crear un archivo nuevo.
import json
from pathlib import Path
from tempfile import TemporaryDirectory
datos = {"nombre": "Ana", "lecciones": 3}
with TemporaryDirectory() as carpeta:
ruta = Path(carpeta) / "progreso.json"
with ruta.open("w", encoding="utf-8") as archivo:
json.dump(datos, archivo, ensure_ascii=False, indent=2)
with ruta.open(encoding="utf-8") as archivo:
recuperados = json.load(archivo)
print(recuperados["nombre"]) # Ana
assert recuperados == datos
# La carpeta temporal se elimina al salir.json.load lee un archivo; json.loads interpreta una cadena. json.dump escribe en un archivo; json.dumps devuelve una cadena. Las rutas relativas parten de la carpeta actual del proceso.
Excepciones: try, except y raise
Captura errores que sepas resolver y deja visibles los que no esperabas. Sitúa en el try la operación que puede fallar, y elige una excepción concreta.
texto = "doce"
try:
cantidad = int(texto)
except ValueError:
print("Escribe un número entero")
else:
print(f"Cantidad: {cantidad}")
def comprobar_edad(edad):
if edad < 0:
raise ValueError("La edad no puede ser negativa")
return edad
assert comprobar_edad(0) == 0El bloque else se ejecuta si el try termina sin excepción. finally se utiliza para una acción de cierre tanto si hay error como si no. Para archivos, with suele expresar mejor ese cierre.
Entenderlo: excepciones · leer un traceback.
No hay coincidencias. Prueba «listas», «funciones» o «archivos», o limpia la búsqueda para ver la chuleta completa.
Preguntas frecuentes sobre esta chuleta de Python
¿Sirve para aprender Python desde cero?
Sirve como referencia mientras practicas. Si un ejemplo todavía no tiene sentido, abre su lección enlazada y sigue el curso en orden; una chuleta no sustituye las explicaciones y ejercicios.
¿Puedo descargar la chuleta como PDF?
Usa «Imprimir» y elige guardar como PDF en el diálogo de tu navegador. La versión de impresión retira la navegación y los botones para conservar el contenido y los ejemplos.
¿Los ejemplos funcionan con Python 2?
Esta referencia está escrita para Python 3. Usa f-strings y otras convenciones de Python 3 moderno; no está preparada para Python 2.
La referencia ayuda más cuando la usas
Resuelve un ejercicio y vuelve aquí solo para consultar la operación que necesites.
Practicar Python →Fuentes y compatibilidad
Los ejemplos usan Python 3 y la biblioteca estándar. Las instrucciones de instalación se contrastaron con la documentación oficial; los ejemplos de código se verifican con las comprobaciones de estas guías.