>>> Class test: pass
>>> Class test2(test): pass
>>> a = test()
>>> b = test2()
>>> a.__l_attribut_qui_va_bien__()
'test'
>>> b.__l_attribut_qui_va_bien__()
'test2'
Je suis surement passé à côté, mais je n'ai pas trouvé...
--
Franssoa
Exemple :
Tu recherches le nom de la classe d'une instance d'objet : 'o'
La première idée qui vient à l'esprit : le mot 'class'
Sachant que le mot 'class' est un mot réservé on peut chercher __class__
Pour ce qui est du nom de la classe on peut penser à name soit __name__
Ce qui donne :
print t.__class__.__name__
Ceci dit il reste la doc ;-)
Cordialement
Salvatore
"Franssoa" <m...@ema.il> a écrit dans le message de news:
4808d922$0$9032$5402...@news.sunrise.ch...
"Salvatore DI DI0" <arty...@gmail.com> a écrit dans le message de news:
4808e057$0$865$ba4a...@news.orange.fr...
Cordialement
Salvatore
"Franssoa" <m...@ema.il> a écrit dans le message de news:
4808e148$0$9035$5402...@news.sunrise.ch...
> Salvatore DI DI0 a écrit :
>> Ce qui donne :
>> print o.__class__.__name__
>> :-)
> pfff... je ne rajouterais rien...
> Merci, et mes plââtes excuses pour le bruit.
> --
> Franssoa
Hint : la fonction dir(obj) peut t'aider à trouver les attributs d'un
objet.
Bonjour,
> Hint : la fonction dir(obj) peut t'aider à trouver les attributs d'un
> objet.
Ca a été mon réflexe suite à la question initiale.
Ca marche mal avec les données initiales:
/> class test(): pass
/> a = test()
/> a
<__main__.test instance at 0xb7d00aac>
/> dir(a)
['__doc__', '__module__']
Comme ceci, ça marche mieux:
/> class test(object): pass
/> a = test()
/> a
<__main__.test object at 0xb7b9dd8c>
/> dir(a)
['__class__', '__delattr__', '__dict__', '__doc__', '__getattribute__',
'__hash__', '__init__', '__module__', '__new__', '__reduce__',
'__reduce_ex__', '__repr__', '__setattr__', '__str__', '__weakref__']
--
Yves
Mmm, Ok, je vois. Effectivement, sur une classe 'old-style', ça marche
moins bien. C'est vrai que dans la mesure où je ne les utilises pour
ainsi dire jamais, j'ai un peu tendance à oublier leur limitations.
Oui... et c'est de là que viens mon erreur. Effectivement avec une
définition "moderne" de classe ça marche mieux !
--
Franssoa