Un décorateur pour accepter les callbacks en Python

Photo d'un petit serpent qui tient au creux de la main

Un des événements auxquels on veut réagir le plus souvent, c’est l’appel d’une fonction, donc en gros être capable de fournir un callback quand on fonction est appelée. On peut bien entendu coder la logique du callback dans chaque fonction et méthode que l’on met en œuvre, mais avec un peu d’astuce, on peu trouver une solution générique qui va couvrir Pareto des besoins.

La suite

Créer un décorateur à la volée

Photo d'un oeuf de poule sulpté

Sur les décorateurs, normalement, vous avez tout ce qu’il faut pour être au point.

Néanmoins en informatique la moitié de la connaissance, c’est l’usage, pas la fonctionnalité. Car il y beaucoup d’usages auxquels on ne pense pas.

La suite

Batbelt, la lib des petits outils Python qui vont bien

Photo d'une voiture à la peinture réfléchissante

A force de coder plein de projets, il y a des opérations qui reviennent très souvent. Ces traitements sont petits et complètement sans relation, difficile d’en faire quelque chose. J’ai tout de même finit par en faire un lib, batbelt, qui au final n’est qu’une grosse collections de snippets que j’utilise régulièrement.

La suite

Le pattern observer en utilisant des décorateurs

Schéma détaillant le phénomène de l'érection masculine

Nous avons vu précédemment que les décorateurs permettaient d’exécuter du code avant et après une fonction, sans modifier la fonction. La plupart du temps on retourne ainsi une nouvelle fonction embarquant un nouveau code.

Mais il existe d’autres usages pour les décorateurs, et notamment un qui est au cœur du fonctionnement de django-quicky: l’abonnement.

La suite

Les context managers et le mot clé with en Python

Photo d'une bouteille de shampoing deux en un pour animal de compagnie

Le mot clé with est utilisé comme dans aucun autre langage en Python. Au premier abord mystérieux, il agit en fait comme les décorateurs en permettant d’exécuter du code automatiquement avant et après un autre code. Mais à l’image des décorateurs, tout ce qu’il fait pourrait être écrit à la main sans utiliser le mot [...]

La suite

Explication de code: des mixins et des décorateurs de méthode pour Django

Photo de la statue "Monument de la Renaissance africaine"

J’ai une préférence pour mon profile de 3-quart gauche.

La suite

Mémoization d’une fonction Python

Dessin humoristique dans lequel Moïse fait en blague en fendant l'eau devant son partenaire de pèche

La mémoization est une forme de mise en cache, elle consiste à cacher le résultat d’une fonction afin que les appels successifs avec des paramètres identiques utilisent le cache plutôt que de calculer à nouveau les données.

La suite