Memo Python
Publié le 19 November 2023
Instalar python en windows
Ejecutando python
cd mon_projet
python -m venv mon_venv
source mon_venv/bin/activate
# Sur windows
mon_venv\Scripts\activate
deactivate
requisito de instalación
pip install -r requirements.txt
iniciación
Patrones de diseño del GoF en Python
Los design patterns de GoF son un conjunto de 23 design patterns que han sido descritos en el libro "Design Patterns: Elements of Reusable Object-Oriented Software".
Nombre |
Description |
Método de fábrica |
Crea objetos sin especificar la clase exacta a instanciar. |
Fábrica Abstracta |
Crea familias de objetos relacionados o dependientes sin especificar su clase concreta. |
Constructor |
Separa la construcción de un objeto complejo de su representación para que el mismo proceso de construcción pueda crear diferentes representaciones. |
Prototipo |
Crea nuevos objetos copiando un prototipo existente. |
Singleton |
Restringe la instanciación de una clase a un solo objeto. |
Adaptar |
Convierte la interfaz de una clase en otra interfaz que el cliente espera. |
bridge |
Desacopla una abstracción de su implementación de modo que ambos puedan variar independientemente. |
Compuesto |
Compone objetos en estructuras de árbol para representar jerarquías de parte-todo. |
Decorador |
Adjunta dinámicamente responsabilidades adicionales a un objeto. |
Fachada |
Proporciona una interfaz unificada a un conjunto de interfaces en un subsistema. |
Peso mosca |
Reduce el costo de creación y uso de objetos ligeros. |
proxy |
Proporciona un sustituto o un espacio reservado para otro objeto a fin de controlar el acceso a él. |
Cadena de Responsabilidad |
Permite que más de un objeto procese una solicitud. |
Comando |
Encapsule una solicitud en un objeto, permitiendo así parametrizar clientes con diferentes solicitudes, colas o registros, y admitir operaciones deshacibles. |
Intérprete |
Da una representación de la gramática de un idioma y usa esta representación para interpretar frases en ese idioma. |
Iterador |
Proporciona una manera de recorrer secuencialmente los elementos de un objeto agregado sin exponer su representación subyacente. |
Mediador |
Permite reducir las dependencias complejas entre los objetos haciendo que se comuniquen únicamente a través de un objeto mediador. |
Recuerda |
Proporciona la capacidad de restaurar un objeto a su estado anterior (sin violar la encapsulación). |
Observa |
Define una dependencia uno-a-muchos entre los objetos de modo que cuando un objeto cambia de estado, todos sus dependientes son notificados y actualizados automáticamente. |
estado |
Permite a un objeto cambiar de comportamiento cuando cambia su estado interno. |
Estrategia |
Define una familia de algoritmos, encapsula cada uno de ellos y los hace intercambiables. |
Método plantilla |
Define el esqueleto de un algoritmo en un método, delegando algunos pasos a las subclases. |
Visitante |
Permite definir una nueva operación que se realiza sobre una estructura de objetos sin cambiar las clases de los objetos sobre los que actúa. |
Programación funcional
biblioteca |
URL |
Description |
PyMonad |
PyMonad es una implementación de estructuras de datos monádicas en Python basada en lenguajes de programación como Haskell y F# con implementaciones para los tipos de monads más comúnmente usados en programación funcional.https://www.miguelfarrajota.com/2021/06/monads-in-python-with-pymonad/[artículo] |
|
PyFunctional |
PyFunctional es una biblioteca Python para la programación funcional que proporciona herramientas para trabajar con funciones puras e iterables. |
|
Toolz |
Toolz es una biblioteca Python para la programación funcional que proporciona herramientas para trabajar con funciones puras e iterables. |
|
Fn.py |
Fn.py es una biblioteca Python para la programación funcional que proporciona herramientas para trabajar con funciones puras e iterables. |
|
coco |
Coconut agrega varias funcionalidades a Python para la programación funcional, incluido el pattern matching.https://stackoverflow.com/questions/11909681/are-there-pattern-matching-functions-in-python-like-this[conversación sof] |
efectos secundarios
bucles
# impérative way
result = []
for i in inputs:
x = f(g(i))
result.append(x)
# idiomatic way
result = map(comp(f,g), inputs)