Запуск Python

Ссылка :
cd mon_projet

python -m venv mon_venv

source mon_venv/bin/activate

# Sur windows
mon_venv\Scripts\activate

deactivate

требование установки

pip install -r requirements.txt

инициация

Паттерны проектирования GoF на Python

Шаблоны проектирования GoF представляют собой набор из 23 шаблонов проектирования, которые были описаны в книге "Design Patterns: Elements of Reusable Object-Oriented Software".

Table 1. Это список паттернов проектирования GoF
имя Описание

Фабричный метод

Создаёт объекты, не указывая точный класс для создания.

Абстрактная фабрика

Создай семейства связанных или зависимых объектов без указания их конкретного класса.

Строитель

Разделяет построение сложного объекта от его представления, чтобы тот же процесс построения мог создавать разные представления.

Прототип

Создайте новые объекты, копируя существующий прототип.

Одиночка

Ограничивает создание экземпляра класса до одного объекта.

адаптер

Преобразует интерфейс класса в другой интерфейс, ожидаемый клиентом.

Бридж

Разделяет абстракцию от её реализации, чтобы обе могли варьироваться независимо.

Композит

Составьте объекты в древовидных структурах для представления иерархий часть-целое.

Декоратор

Динамически прикрепляйте дополнительные обязанности к объекту.

фасад

Обеспечивает единый интерфейс для набора интерфейсов в подсистеме.

Приспособленец

Снижает стоимость создания и использования легких объектов.

Прокси

Предоставляет замену или заполнитель для другого объекта, чтобы контролировать доступ к нему.

Цепочка обязанностей

Позволяет более чем одному объекту обрабатывать запрос.

Команда

Инкапсулирует запрос в объект, позволяя настраивать клиенты с различными запросами, очередями или журналами, и поддерживать отменяемые операции.

Интерпретатор

Дай представление грамматики языка и используй это представление для интерпретации предложений на этом языке.

итератор

Предоставляет способ последовательно обходить элементы совокупного объекта, не раскрывая его внутреннее представление.

Посредник

Позволяет уменьшить сложные зависимости между объектами, заставляя их взаимодействовать только через объект‑посредник.

Мементо

Предоставляет возможность восстановить объект в его предыдущее состояние (без нарушения инкапсуляции).

Наблюдатель

Определяет зависимость один‑ко‑многим между объектами так, что при изменении состояния одного объекта все его зависимости автоматически уведомляются и обновляются.

Государство

Позволяет объекту изменять своё поведение при изменении его внутреннего состояния.

Стратегия

Определяет семейство алгоритмов, инкапсулирует каждый из них и делает их взаимозаменяемыми.

Шаблонный метод

Определяет скелет алгоритма в методе, откладывая некоторые шаги на подклассы.

Посетитель

Позволяет определить новую операцию для выполнения над структурой объектов, не изменяя классы объектов, на которых она работает.

Функциональное программирование

Библиотека

URL

Описание

PyMonad

https://github.com/jasondelaat/pymonad

PyMonad — это реализация монодных структур данных в Python, основанная на языках программирования, таких как Haskell и F#, с реализациями для наиболее часто используемых типов монод в функциональном программировании.https://www.miguelfarrajota.com/2021/06/monads-in-python-with-pymonad/[статья]

PyFunctional

https://github.com/EntilZha/PyFunctional/

PyFunctional — это библиотека Python для функционального программирования, которая предоставляет инструменты для работы с чистыми функциями и итерируемыми.

Toolz

https://toolz.readthedocs.io/en/latest/

Toolz — это библиотека Python для функционального программирования, которая предоставляет инструменты для работы с чистыми функциями и итерируемыми объектами.

Fn.py

https://github.com/kachayev/fn.py

Fn.py — это библиотека Python для функционального программирования, которая предоставляет инструменты для работы с чистыми функциями и итерируемыми объектами.

Кокос

https://coconut-lang.org/

Кокос добавляет несколько функций в Python для функционального программирования, включая сопоставление с образцом.https://stackoverflow.com/questions/11909681/are-there-pattern-matching-functions-in-python-like-this[разговор sof]

побочные эффекты

циклы

# impérative way
result = []
for i in inputs:
    x = f(g(i))
    result.append(x)

# idiomatic way
result = map(comp(f,g), inputs)

Похожие статьи