Bonsoir,
Après des questions globales concernant le langage python, j'arrive avec une conception (très) technique : Les métaclasses.
Quand utiliser les métaclasses ?
Souvent dans mes réponses aux questions concernant les métaclasses, je répond par la citation suivante (Tim Peters).
Je la trouve tellement vraie, mais avant de donner votre avis, je vais donner le mien, ça se discute et selon vos créations pythoniques, il est selon moi possible de comprendre que certains codeurs l'utilisent (régulièrement ? Non, je vous crois pas...)Metaclasses are deeper magic than 99% of users should ever worry about. If you wonder whether you need them, you don't (the people who actually need them know with certainty that they need them, and don't need an explanation about why).
Les métaclasses selon mes lectures, mes utilisations auraient trois intérêts majeurs
- Assimiler/gérer lors de la création de classe (pas instance)
- Créer dynamiquement une classe (Mouais, ...)
- Modifier une classe
Alors voyez-vous je suis mitigé sur son utilisation à mon niveau, mais je suis sûr que certains codeurs l'utilisent dans un but précis.
Ce qui serait intéressant, c'est de savoir dans quelle situation vous les utilisez et en quoi son utilisation vous a simplifiez la vie (le code).
La métaclasse, je la vois de cette façon
- métaclasse -> classe
- classe -> instance
Je considère donc que cette fois la classe en rapport avec la métaclasse n'est pas un constructeur d'objet, mais l'objet lui même.
Comme je vois la classe comme le créateur/modeleur/moule/schéma de l'objet (son instance).
Création de classe dynamique
Parlons syntaxe, n'ayant pas de grandes expériences dans la création de classe, peut-être y a-t-il d'autres habitudes de création, et de façon de faire.
En ce qui me concerne j'utilise type, mais il me semble qu'on peut utiliser __new__, seulement je suis loin d'en être un adepte. Bien, pas bien, ça se discute...
D'autres méthodes de création de classe, venez les présenter ici.
Tiens, en cherchant la documentation pour type, que vois-je ?
Conclusion
Une métaclasse est une classe de classe... Vrai, faux? Pourquoi?
Merci pour votre participation...![]()
Partager