Qué tipos existen
Los básicos están todos — con dos ausencias deliberadas que cambian cómo se escribe cierto código.
Enteros, decimales, texto, booleanos
int, float, str, bool — se comportan como en Python real, con una excepción: bool NO es subtipo numérico de int. True + 1 da TypeError aquí; en Python real da 2. Los literales True/False son palabras reservadas de verdad — a diferencia de pi/e (que son solo constantes globales que una variable propia puede tapar), no hay forma de reasignarlos.
Listas y diccionarios
Literal normal: [1, 2, 3], {"a": 1}. Se comportan como en Python real, incluido indexado, slicing y los métodos usuales.
Tuplas — de verdad, no listas disfrazadas
(a, b) es una tupla real e inmutable (intentar .append() o asignar por índice falla). (5,) es la forma de tupla de un solo elemento; (5) sin coma sigue siendo solo 5 agrupado por paréntesis — igual que en Python real.
No existe None
Este intérprete no tiene un valor "nada". Por eso diccionario.get(clave, valor_por_defecto) exige siempre el valor por defecto, y una función sin return no devuelve None en silencio: si se intenta usar su resultado, el programa se detiene con un error claro en vez de propagar un None silencioso.
No existe set
No hay literal {1, 2, 3} ni función set(...) — { siempre se interpreta como el inicio de un diccionario.