A propos des attributs préfixés de deux underscores
En Python, il n’y a pas d’attributs privés au sens propre, uniquement une convention disant que tout ce qu’on préfixe d’un underscore ne fait pas partie de l’API publique.
En Python, il n’y a pas d’attributs privés au sens propre, uniquement une convention disant que tout ce qu’on préfixe d’un underscore ne fait pas partie de l’API publique.
Après avoir bien galéré à créer un compteur à la main avec un dico, vous avez découvert les joies des méthodes dict.get
et dict.setdefault
. Puis évidemment quelqu’un vous a pointé vers collections.defaultdict
, et enfin, vous avez fini par découvrir collections.Counter
. Joie.
Dans beaucoup de langages populaires, and
et or
sont écrits &&
et ||
. Ces symboles existent en Python, mais ils sont là pour appliquer des opérations binaires. Ce n’est néanmoins pas la seule bizarrerie de Python dans le domaine.
Une suite de valeurs ne veut rien dire en soit, et même le sacro-saint binaire supposé être le socle de toute l’informatique n’a aucun sens si on ne connaît pas le format de ce qu’il doit représenter.
Pour autant, cela ne veut pas dire qu’il n’existe pas des formats prépondérant, et en informatique, beaucoup de données binaires sont organisées pour correspondre aux structures de données du langage C.
Si vous devez retenir un truc de la partie Python de ce blog, c’est qu’en Python, l’itération est tout.
Régulièrement je passe un coup de poussière sur mes outils, et aujourd’hui c’est le tour du script de start up.
C’est pas moi, j’ai rien fais !
La meilleure solution à ce jour vient de Audrey Roy, qui est avant tout connue pour avoir co-écrit le livre Two scoops of Django, et qui a aussi pondu cookiecutter.
Vous avez vu les modules pour faire les tests, mais dès que vous allez vouloir faire des tests sérieux, vous allez vous heurter à la dure réalité.
La réalité est que pour tester, il vous faut la réalité.
Avant, les vues génériques étaient sous forme de fonction, simples, pratiques, c’était parfait. Et ça a été retiré du framework pour des versions OO sous prétexte que c’était plus flexible.
Maintenant, ce sont ces gros tas immondes, avec un ordre d’appel de méthodes complexes, des mixins dans tous les sens et une chaine d’héritage velue.