Giter Site home page Giter Site logo

sudomango / python-oop-market Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 121 KB

Спроектирован API для супермаркета в ООП парадигме. Есть несколько готовых классов и методов с наглядными примерами их использования. Всё спроектировано с нуля, БЕЗ использования пошаговых туториалов.

License: Apache License 2.0

Python 100.00%
abstraction computer-model encapsulation inheritance modeling oop oop-principles polymorphism python sudomango

python-oop-market's Introduction

Краткое описание

Перед вами спроектированный и созданный с нуля API программной модели Супермаркета. Представляет собой наглядный практический пример реализации всех 4 принципов ООП на языке Python. Дополнительно был реализован аналог интерфейсов в Python = абстрактный класс Market_ABC, для более удобного знакомства с исходным кодом приложения.

Быструю и наглядную демонстрацию работы с API можно посмотреть в файле demo.py. Результат работы демонстрации для удобства был выведен в файл output.txt.

Основные примеры того, что можно сделать при помощи команд API:

  • Открыть свой виртуальный Супермаркет, установить начальную сумму денег.
  • Просмотреть закупочные цены на различные категории товаров (всего категорий 5).
  • Сделать заказ n-ного количества товаров выбранной категории.
  • Проверить количество денег в кассе супермаркета.
  • Проверить содержимое склада супермаркета.
  • Проверить свободное место на складе супермаркета.
  • Выставить на продажу n-ное количество товаров выбранной категории.
  • Посмотреть какая сегодня дата (закупки и продажи влияют на время).
  • Посмотреть какое количество просроченных товаров есть на складе.
  • А также можно распечатать содержимое склада или текущий прайс-лист в терминале или в JSON-файл.

⚠️ Конечно, всё это своего рода игра, симуляция настоящего Супермаркета, и программа не претендует на точность созданной модели. Основная и главная цель = демонстрация работы с ООП в Python: проектирование и создание классов, атрибутов, методов, объектов, абстрактных классов, определение модификаторов доступа, работа с форматом JSON и т. д.

Source Code Screen

Установка и запуск

Скачайте и распакуйте (или просто клонируйте) репозиторий себе на компьютер. После чего можете запустить скрипт 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, и обращаться напрямую к их методам, так как они для этого не были предназначены. Хотя - в целях эксперимента, конечно же, можно 😏. Но всё на свой страх и риск.

python-oop-market's People

Contributors

sudomango avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.