Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Nom de la classe

0 views
Skip to first unread message

Franssoa

unread,
Apr 18, 2008, 1:23:44 PM4/18/08
to
Bonjour,
Je tourne en rond en cherchant à connaitre le nom d'une classe ou d'une
instance :

>>> 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

Salvatore DI DI0

unread,
Apr 18, 2008, 1:54:32 PM4/18/08
to
Bonsoir,
Ce qui est amusant en Python, c'est que nombre de concepts
sont 'presque' intuitifs.

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

unread,
Apr 18, 2008, 1:55:58 PM4/18/08
to
Ce qui donne :
print o.__class__.__name__
:-)


"Salvatore DI DI0" <arty...@gmail.com> a écrit dans le message de news:
4808e057$0$865$ba4a...@news.orange.fr...

Franssoa

unread,
Apr 18, 2008, 1:58:29 PM4/18/08
to
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

Salvatore DI DI0

unread,
Apr 18, 2008, 2:06:19 PM4/18/08
to
Ta question ne constitue en aucun cas du "brui"t . Si c'est le cas
alors je te peux te confirmer que côté vacarme j'assure aussi ;-)

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


bruno.des...@gmail.com

unread,
Apr 19, 2008, 11:37:51 AM4/19/08
to

Hint : la fonction dir(obj) peut t'aider à trouver les attributs d'un
objet.

yves

unread,
Apr 19, 2008, 2:47:58 PM4/19/08
to
Le Sat, 19 Apr 2008 08:37:51 -0700, bruno.des...@gmail.com a écrit:

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

bruno.des...@gmail.com

unread,
Apr 19, 2008, 5:17:58 PM4/19/08
to
On 19 avr, 20:47, yves <y...@free.invalid> wrote:

> Le Sat, 19 Apr 2008 08:37:51 -0700, bruno.desthuilli...@gmail.com a écrit:
>
> 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

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.

Franssoa

unread,
Apr 22, 2008, 5:20:20 AM4/22/08
to
bruno.des...@gmail.com a écrit :

> 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

0 new messages