Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

attribut callable ?

6 réponses
Avatar
Méta-MCI
Bonjour !

Pour savoir si un attribut d'une instance est callable, j'utilise :
callable(getattr(self, i))

Quelqu'un connaîtrait-il une syntaxe plus silmple ?

Merci d'avance.

Michel Claveau

6 réponses

Avatar
Laurent Pointal
Bonjour !

Pour savoir si un attribut d'une instance est callable, j'utilise :
callable(getattr(self, i))

Quelqu'un connaîtrait-il une syntaxe plus silmple ?


callable(self.i)

Avatar
Michel Claveau
Re !

callable(self.i)


Non, ça ne marche pas, car i est un string (nom de l'attribut), et
self.i ne pointera pas l'attribut.

--
@-salutations

Michel Claveau

Avatar
Bruno Desthuilliers
Re !

callable(self.i)


Non, ça ne marche pas, car i est un string (nom de l'attribut), et
self.i ne pointera pas l'attribut.

Alors non, ya pas plus simple. Par contre, il y a plus robuste:


callable(self, i, None)


Avatar
Amaury Forgeot d'Arc
Bonsoir,

Re !

callable(self.i)


Non, ça ne marche pas, car i est un string (nom de l'attribut), et
self.i ne pointera pas l'attribut.

Alors non, ya pas plus simple. Par contre, il y a plus robuste:


callable(self, i, None)


J'en suis sûr, tu voulais écrire:

callable(getattr(self, i, None))


--
Amaury



Avatar
Michel Claveau
'soir !


J'en suis sûr, tu voulais écrire:
callable(getattr(self, i, None))


Ouf ! ça me rassure.
J'étais en train de chercher pourquoi la syntaxe de Bruno ne
correspondait pas à la doc, et qu'est-ce qui n'allait pas dans mon
Python.exe





--
@-salutations

Michel Claveau

Avatar
Bruno Desthuilliers
Bonsoir,

Re !

callable(self.i)


Non, ça ne marche pas, car i est un string (nom de l'attribut), et
self.i ne pointera pas l'attribut.

Alors non, ya pas plus simple. Par contre, il y a plus robuste:


callable(self, i, None)


J'en suis sûr, tu voulais écrire:

callable(getattr(self, i, None))


Oui. Décidément, j'étais un peu fatigué vendredi :(