initialisation automatique de classe ? [résolu] - Python - Programmation
Marsh Posté le 01-11-2012 à 16:59:04
suizokukan a écrit : Bonjour, voici un code qui fonctionne sans que je comprenne comment :
Quelqu'un pourrait-il m'éclairer ? Merci d'avance ! PS : même comportement avec Python 2.x et 3.x . |
Code :
|
Un tuple est immutable, donc toute l'initialization du type c tuple est faite dans __new__ (le slot tp_new), pas dans init: le temps qu'__init__ s'exécute il n'est déjà plus possible de toucher le truc.
Marsh Posté le 01-11-2012 à 23:04:43
Merci Masklinn pour cette explication très complète : j'ignorais complètement cela !
Merci aussi à ceux qui m'on lu !
Marsh Posté le 02-11-2012 à 08:43:38
When in doubt, check the source
(en l'occurence dans ce cas précis c'est documenté... sauf que c'est documenté dans __new__ donc il faut soit avoir lu toute la doc du data model soit avoir un gros coup de bol)
Marsh Posté le 02-11-2012 à 14:35:07
En effet, merci encore de ces précisions !
Marsh Posté le 01-11-2012 à 09:41:42
Bonjour, voici un code qui fonctionne sans que je comprenne comment :
Je ne comprends pas comment se passe l'initialisation de ma classe TupleOfTuples; la méthode __init__ n'utilise pas src et je ne vois nulle part comment l'argument ((1,2), (3,4), (5,6)) est passé à la classe-mère tuple.
Quelqu'un pourrait-il m'éclairer ? Merci d'avance !
PS : même comportement avec Python 2.x et 3.x .
Message édité par suizokukan le 11-12-2012 à 11:27:20
---------------
rule #1 : trust the python