Contraintes, valeurs par défaut et énumérations
Limitez les valeurs et proposez des choix fixes en toute sécurité.
Contraintes, valeurs par défaut et énumérations est une leçon MCP Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage MCP Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours MCP Academy comprend 4 leçons au total.
Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.
Beyond Just Types
Types say what kind of value is allowed, but you often want tighter rules: a limit must be positive, a name not empty. That's where constraints come in.
Meet Field
Pydantic's Field lets you attach rules to a field, like minimum and maximum values, right in the model definition.
from pydantic import BaseModel, Field
class Page(BaseModel):
size: int = Field(ge=1, le=100)Numeric Bounds
Use ge and le for greater-or-equal and less-or-equal, or gt and lt for strict bounds, to keep numbers in a safe range.
String Length Limits
For text, min_length and max_length stop empty strings and runaway input before they reach your logic.
name: str = Field(min_length=1, max_length=50)Pattern Matching
Add a pattern to require a string match a regular expression, perfect for codes, slugs, or simple identifiers.
Simple Defaults
Give a field a value and it becomes optional with a default. The model may omit it and your tool uses the fallback.
limit: int = 10Defaults Inside Field
You can combine a default with constraints by passing it to Field, keeping the rule and the fallback in one place.
limit: int = Field(default=10, ge=1, le=100)Fixed Choices with Enum
When only a few values make sense, an Enum limits the field to that exact set, so the model cannot invent options.
from enum import Enum
class Sort(str, Enum):
asc = "asc"
desc = "desc"Use the Enum as a Type
Declare a field with the enum type and Pydantic accepts only its members, rejecting any other value automatically.
order: Sort = Sort.ascLiterals for Tiny Sets
For a quick fixed set you can also use Literal, which lists allowed values inline without a separate Enum class.
from typing import Literal
unit: Literal["c", "f"] = "c"Constraints Reach the Model
These rules become part of the JSON schema, so the model sees the allowed ranges and choices and tends to obey them.
Quick Check
You want a field to accept only asc or desc. What fits best?
Recap
Use Field for bounds and lengths, plain defaults for optional values, and Enum or Literal for fixed choices the model must respect. ✅
Questions Fréquemment Posées
La leçon « Contraintes, valeurs par défaut et énumérations » est-elle gratuite ?
Oui — le texte complet de « Contraintes, valeurs par défaut et énumérations » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours MCP Academy, passe à CoddyKit PRO. Le cours MCP Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Contraintes, valeurs par défaut et énumérations » ?
Limitez les valeurs et proposez des choix fixes en toute sécurité. Tu pratiques MCP Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer MCP Academy ?
Aucune expérience préalable n'est requise. MCP Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.
Combien de temps prend la leçon « Contraintes, valeurs par défaut et énumérations » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon MCP Academy ?
Oui. Chaque leçon MCP Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Pourquoi les schémas valent mieux que des arguments libres
- Entrées du modèle avec Pydantic
- Contraintes, valeurs par défaut et énumérations
- Descriptions de champs qui guident le modèle