← До фільтрів та технологій

← До списку лабораторних по Python

Python Лабораторна 8: Опис моделі і перевірка JSON

Технологія: Python

Номер лабораторної: 8 · Рівень: middle

Тема: JSON і валідація даних через pydantic

Повний опис / сценарій лабораторної:

Meta: навчитися описувати структуру даних як модель і автоматично перевіряти вхідний JSON.



Krok 1. Встановити pydantic у віртуальному середовищі.

Komandi: cd ~/python_lab1; source .venv/bin/activate; pip install "pydantic>=2"



Krok 2. Створити файл src/app/model8.py.

Komanda: cd src; touch app/model8.py



Krok 3. Описати просту модель користувача.

Komanda: printf "from pydantic import BaseModel, EmailStr

class User(BaseModel):
    id: int
    name: str
    email: EmailStr
    is_active: bool = True

if __name__ == "__main__":
    data = {"id": 1, "name": "Taras", "email": "taras@example.com"}
    user = User.model_validate(data)
    print(user)
" > app/model8.py



Krok 4. Запустити модель і перевірити вивід.

Komanda: export PYTHONPATH=$(pwd); python app/model8.py



Krok 5. Змінити вхідні дані на некоректний email і подивитися помилку.

Komanda: sed -i "s/taras@example.com/not_email/" app/model8.py 2>/dev/null || echo "онови вручну"



Krok 6. Повторно запустити скрипт і зафіксувати тип винятку.

Komanda: python app/model8.py || echo "validation error"



Krok 7. Додати вкладену модель, наприклад Profile з полем age.

Poyasnennya: модель User може мати поле profile: Profile.



Krok 8. Продемонструвати автоматичну конвертацію типів наприклад рядок до int.

Poyasnennya: передати age як рядок і перевірити що модель його перетворює.



Krok 9. Занотувати як такі моделі можна використовувати у API клієнтах і серверах.



Krok 10. Mini zvit.

Zavdannya: опиши плюси і мінуси використання pydantic у невеликих скриптах.