Nota Python
Publié le 19 November 2023
Instalar python no windows
Executando Python
cd mon_projet
python -m venv mon_venv
source mon_venv/bin/activate
# Sur windows
mon_venv\Scripts\activate
deactivate
requisito de instalação
pip install -r requirements.txt
Padrões de Projeto do GoF em Python
Os design patterns do GoF são um conjunto de 23 design patterns que foram descritos no livro "Design Patterns: Elements of Reusable Object-Oriented Software".
Nome |
Descrição |
Método Factory |
Crie objetos sem especificar a classe exata a ser instanciada. |
Abstract Factory |
Crie famílias de objetos relacionados ou dependentes sem especificar sua classe concreta. |
Construtor |
Separa a construção de um objeto complexo da sua representação de modo que o mesmo processo de construção possa criar diferentes representações. |
Protótipo |
Cria novos objetos ao copiar um protótipo existente. |
Singleton |
Restringe a instanciação de uma classe a um único objeto. |
Adaptar |
Converte a interface de uma classe em outra interface que o cliente espera. |
Ponte |
Desacople uma abstração de sua implementação para que os dois possam variar independentemente. |
Composto |
Compõe objetos em estruturas de árvore para representar hierarquias de parte-todo. |
Decorador |
Anexe dinamicamente responsabilidades adicionais a um objeto. |
fachada |
Fornece uma interface unificada a um conjunto de interfaces em um subsistema. |
Peso leve |
Reduz o custo de criação e uso de objetos leves. |
Proxy |
Fornece um substituto ou um espaço reservado para outro objeto para controlar o acesso a ele. |
Cadeia de Responsabilidade |
Permite que mais de um objeto trate uma solicitação. |
comando |
Encapsula uma solicitação em um objeto, permitindo assim parametrizar clientes com diferentes solicitações, filas ou logs, e apoiar operações anuláveis. |
Intérprete |
Dá uma representação da gramática de uma língua e usa essa representação para interpretar frases nessa língua. |
Iterator |
Fornece um meio de percorrer sequencialmente os elementos de um objeto agregado sem expor sua representação subjacente. |
Mediador |
Permite reduzir as dependências complexas entre os objetos fazendo-os comunicar apenas por meio de um objeto mediador. |
Memento |
Fornece a capacidade de restaurar um objeto ao seu estado anterior (sem violar o encapsulamento). |
Observe |
Define uma dependência um-para-muitos entre objetos de forma que quando um objeto muda de estado, todos os seus dependentes são notificados e atualizados automaticamente. |
Estado |
Permite que um objeto altere seu comportamento quando seu estado interno muda. |
Estratégia |
Define uma família de algoritmos, encapsula cada um deles e os torna intercambiáveis. |
Método Modelo |
Define o esqueleto de um algoritmo em um método, delegando algumas etapas às subclasses. |
Visitante |
Permite definir uma nova operação a ser realizada numa estrutura de objetos, sem alterar as classes dos objetos nos quais ela opera. |
Programação funcional
Biblioteca |
URL |
Descrição |
PyMonad |
PyMonad é uma implementação de estruturas de dados monádicas em Python baseada em linguagens de programação como Haskell e F# com implementações para os tipos de monads mais comumente usados em programação funcional.https://www.miguelfarrajota.com/2021/06/monads-in-python-with-pymonad/[artigo] |
|
PyFunctional |
PyFunctional é uma biblioteca Python para programação funcional que fornece ferramentas para trabalhar com funções puras e iteráveis. |
|
Toolz |
Toolz é uma biblioteca Python para programação funcional que fornece ferramentas para trabalhar com funções puras e iteráveis. |
|
Fn.py |
Fn.py é uma biblioteca Python para programação funcional que fornece ferramentas para trabalhar com funções puras e iteráveis. |
|
coco |
Coconut adiciona várias funcionalidades ao Python para programação funcional, incluindo o pattern matching.https://stackoverflow.com/questions/11909681/are-there-pattern-matching-functions-in-python-like-this[conversa sof] |
efeitos colaterais
laços
# impérative way
result = []
for i in inputs:
x = f(g(i))
result.append(x)
# idiomatic way
result = map(comp(f,g), inputs)