A propos des attributs préfixés de deux underscores 2
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.
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.
Tout est accessible en Python. Il n’y a pas de variables privées.
Je me suis dit que ça pourrait intéresser quelques geeks de savoir comment lister les enfants d’une classe, récursivement.
Je me répète, mais on doit énormément aux relecteurs sur ce blog. Ils ne font pas de bruit, mais ils passent derrière, tels des nettoyeurs de scènes de crimes sur notre prose sanglante.
Cet article s’adresse à des développeurs qui commencent à être bien dans leurs chaussettes en Python et qui se sentent de relever le défi d’écrire du code pour d’autres personnes.
En informatique, le vocabulaire c’est une bonne partie du travail. On a des tas de termes comme polymorphisme, récursivité, idempotent ou closure. Certains sont des termes mathématiques, d’autres sont des anglicismes, mais la majorité sont juste des mots compliqués pour décrire des choses simples.
Vous connaissez mon manque d’attrait pour ça, on va donc clarifier.
Vous n’avez absolument pas besoin des métaclasses. Mais quand même, ça serait tellement cool de savoir vous en servir.
L’orienté object est particulièrement adapté à la création de belles APIs. Nous allons donc étudier aujourd’hui un cas réel de mise en pratique réussi avec la lib path.py.
La POO, c’est comme les poupées russes. Une fois qu’on a maîtrisé un concept, paf, y en a un autre qui se ramène derrière.