|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||||
|
Invité de passage
![]() Enseignant Inscription : avril 2011 Messages : 17 ![]() |
Comment comprendre la différence entre ceci
Code :
Code :
Code :
Code :
Merci d'apporter de la lumière à ma compréhension du fonctionnement de Python |
||||||||
|
|
00
|
|
|
#2 | ||
|
Membre émérite
![]() Ingénieur Inscription : janvier 2009 Messages : 494 ![]() |
Houlà : ton exemple est bien compliqué !
Plus simplement : Code :
Si une instance décide de se particulariser et de la "jouer perso", un attribut qui lui est propre est créé (lignes 16 à 19). Les autres instances n'auront toujours pas d'attribut "c" propre (lignes 25 à 28). Je n'ai pas (re)trouvé dans la doc officielle ce "truc". Mais, pour faire court, "c'est comme ça", faut faire avec. |
||
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Enseignant Inscription : avril 2011 Messages : 17 ![]() |
Merci pour la réponse.
C'est limpide, je comprends... Bonnes fêtes! |
|
|
00
|
|
|
#4 |
|
Membre émérite
![]() Ingénieur Inscription : janvier 2009 Messages : 494 ![]() |
Avec plaisir. Bonnes fêtes à toi aussi !
|
|
|
00
|
|
|
#5 | |||||||||
|
Expert Confirmé
![]() Patrice BLANGARINTechnicien Help Desk, maintenance, réseau, système et + Inscription : juin 2006 Messages : 2 613 ![]() |
Bonjour,
Citation:
Le comportement étant trop proche des paramètres par défaut pour les fonctions il m'est difficile de ne pas faire le parallèle. Pour rappel sur les paramètres par défaut, la doc officielle étant succincte (The default values are evaluated at the point of function definition in the defining scope). Code :
Pour les instances cela vas de même Code :
Code :
Code :
@+ et bonnes fêtes
__________________
Merci d'utiliser le forum pour les questions techniques. |
|||||||||
|
|
00
|
|
|
#6 | |
|
Membre Expert
![]() Fred Enseignant Inscription : juillet 2006 Messages : 1 321 ![]() |
Citation:
__________________
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard) La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein) |
|
|
|
00
|
|
|
#7 | |
|
Expert Confirmé
![]() Patrice BLANGARINTechnicien Help Desk, maintenance, réseau, système et + Inscription : juin 2006 Messages : 2 613 ![]() |
Les classes aussi sont des objets, au sens interprétation du code.
Citation:
__________________
Merci d'utiliser le forum pour les questions techniques. |
|
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() Fred Enseignant Inscription : juillet 2006 Messages : 1 321 ![]() |
Ok, on s'est mal compris, je parlais dans un sens concret du problème et non de la syntaxe.
__________________
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard) La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein) |
|
|
00
|
|
|
#9 | |||
|
Expert Confirmé
![]() Patrice BLANGARINTechnicien Help Desk, maintenance, réseau, système et + Inscription : juin 2006 Messages : 2 613 ![]() |
Bonjour,
Citation:
Code :
@+
__________________
Merci d'utiliser le forum pour les questions techniques. |
|||
|
|
00
|
|
|
#10 | ||
|
Membre Expert
![]() Fred Enseignant Inscription : juillet 2006 Messages : 1 321 ![]() |
Citation:
Si on veut changer le comportement de cette classe, on utilisera l'héritage... Si on veut créer/modifier dynamiquement une classe, on parlera de metaclass, mais... Citation:
__________________
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard) La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein) |
||
|
|
00
|
|
|
#11 | ||
|
Expert Confirmé
![]() Patrice BLANGARINTechnicien Help Desk, maintenance, réseau, système et + Inscription : juin 2006 Messages : 2 613 ![]() |
Oui...
Code :
@+
__________________
Merci d'utiliser le forum pour les questions techniques. |
||
|
|
00
|
|
|
#12 |
|
Membre Expert
![]() Fred Enseignant Inscription : juillet 2006 Messages : 1 321 ![]() |
Oui, oui mais quand tu modifieras s1, tu modifieras s, ce qui signifie qu'il n'y a en fait qu'une seule instance, mais j'ai toujours eu du mal à voir l'intérêt du singleton que je trouve contre intuitif au principe de base de la classe qui est :
Une classe permet la construction de plusieurs objets (instances) Je n'en perd pas moins qu'il peut être utile, cependant l'inconvénient est de laisser la possibilité de créer une autre instance, trompeur pour l'utilisateur de cette classe, il pourrait croire utiliser un autre objet (différent) alors que ce n'est pas le cas. Il est préférable de lui interdire l'instanciation (le principe du singleton).
__________________
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard) La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein) |
|
|
00
|
|
|
#13 | |||
|
Expert Confirmé
![]() Patrice BLANGARINTechnicien Help Desk, maintenance, réseau, système et + Inscription : juin 2006 Messages : 2 613 ![]() |
L'exemple du singleton (toujours aussi controversé comme pattern
Citation:
Code :
__________________
Merci d'utiliser le forum pour les questions techniques. |
|||
|
|
00
|
|
|
#14 | ||
|
Expert Confirmé Sénior
![]() Inscription : juin 2008 Messages : 3 700 ![]() |
Citation:
Une collection peut être vide, réduite à N éléments, permettre la création d'un nombre indéfini d'éléments différents (au sens "is"). singleton, monostate, Borg permettent de traduire ces différentes propriétés. Ce sont des patterns de "design". Coder ces propriétés sera plus ou moins ardu suivant le langage. Il ne sera pas toujours utile ni nécessaire qu'il y ait bijection entre collection au sens "design" et sa réalisation en code. Citation:
Un caillou, un tabouret,... quoi que ce soit pourvu qu'on puisse poser ses fesses dessus fera l'affaire. Il y a pleins de façons pour fabriquer un objet utilisable en tant que chaise. En Python, on appelle cela "duck typing". Hmm, bonnes fêtes! - W
__________________
Architectures Post-Modernes |
||
|
|
00
|
Copyright © 2000-2013 - www.developpez.com