Modelos de Pydantic en Python
Un modelo valida y convierte al construirse, desde una clase de anotaciones.
from pydantic import BaseModel, ValidationError
class Intento(BaseModel):
lang: str
tpm: float
stars: int = 1
intento = Intento(lang="python", tpm="104.5", stars=3)
print(intento.tpm, type(intento.tpm).__name__)
print(intento.model_dump())
print(intento.model_dump_json())
try:
Intento(lang="rust", tpm="rapido")
except ValidationError as exc:
print(exc.error_count(), exc.errors()[0]["loc"], exc.errors()[0]["type"])
Cómo funciona
- Los tipos se aplican: una cadena numérica se vuelve un int.
model_dumpymodel_dump_jsonlo serializan de vuelta.- Un valor malo lanza ValidationError con el campo nombrado.
Palabras clave y builtins usados aquí
asclassexceptfloatintprintstrtrytype
El intento, en números
- Líneas
- 18
- Caracteres a escribir
- 422
- Tokens
- 131
- Ritmo de tres estrellas
- 105 tpm
Al ritmo de tres estrellas de 105 tokens por minuto, este intento toma unos 75 segundos.
Paso 1 de 5 en Modelos de Pydantic; paso 1 de 19 en Servicios web y acceso a datos.