Ограничения, значения по умолчанию и перечисления
Безопасно ограничивайте значения и предлагайте фиксированный набор вариантов.
«Ограничения, значения по умолчанию и перечисления» — бесплатный урок MCP Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения MCP Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс MCP Academy содержит 4 уроков всего.
Части этого урока еще не переведены и отображаются на английском.
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. ✅
Часто задаваемые вопросы
Урок «Ограничения, значения по умолчанию и перечисления» бесплатный?
Да — полный текст урока «Ограничения, значения по умолчанию и перечисления» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс MCP Academy, подпишись на CoddyKit PRO. Курс MCP Academy содержит 4 уроков всего.
Чему я научусь в уроке «Ограничения, значения по умолчанию и перечисления»?
Безопасно ограничивайте значения и предлагайте фиксированный набор вариантов. Ты практикуешь MCP Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать MCP Academy?
Предыдущий опыт не требуется. MCP Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.
Сколько времени занимает урок «Ограничения, значения по умолчанию и перечисления»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке MCP Academy?
Да. Каждый урок MCP Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Почему схемы лучше нестрогих аргументов
- Входные данные модели с Pydantic
- Ограничения, значения по умолчанию и перечисления
- Описания полей, помогающие модели