Перед вами спроектированный и созданный с нуля API программной модели Супермаркета. Представляет собой наглядный практический пример реализации всех 4 принципов ООП на языке Python. Дополнительно был реализован аналог интерфейсов в Python = абстрактный класс Market_ABC, для более удобного знакомства с исходным кодом приложения.
Быструю и наглядную демонстрацию работы с API можно посмотреть в файле demo.py. Результат работы демонстрации для удобства был выведен в файл output.txt.
Основные примеры того, что можно сделать при помощи команд API:
- Открыть свой виртуальный Супермаркет, установить начальную сумму денег.
- Просмотреть закупочные цены на различные категории товаров (всего категорий 5).
- Сделать заказ n-ного количества товаров выбранной категории.
- Проверить количество денег в кассе супермаркета.
- Проверить содержимое склада супермаркета.
- Проверить свободное место на складе супермаркета.
- Выставить на продажу n-ное количество товаров выбранной категории.
- Посмотреть какая сегодня дата (закупки и продажи влияют на время).
- Посмотреть какое количество просроченных товаров есть на складе.
- А также можно распечатать содержимое склада или текущий прайс-лист в терминале или в JSON-файл.
Скачайте и распакуйте (или просто клонируйте) репозиторий себе на компьютер. После чего можете запустить скрипт demo.py для просмотра демонстрационного примера.
python demo.py # Запуск в Windows
python3 demo.py # Запуск в Linux (проверено на Debian, Ubuntu)
Либо создайте свой скрипт и поработайте с API самостоятельно. Для этого создайте пустой Python-скрипт в этом каталоге и подключите к нему класс Market из модуля market:
from market import Market
Вы также можете просто удалить всё содержимое из файла demo.py, кроме первой строчки, и работать с API прямо в нём. Для быстрого знакомства со всеми публичными методами API вы можете воспользоваться исходным кодом абстрактного класса.
Важное примечание: Настоятельно не рекомендуется создавать объекты других представленных здесь классов, кроме Market, и обращаться напрямую к их методам, так как они для этого не были предназначены. Хотя - в целях эксперимента, конечно же, можно 😏. Но всё на свой страх и риск.