Pour le code :
class a(object):
a='aaa'
b=a()
print hasattr(a,'a')
print hasattr(b,'a')
qui peut être appelé par hasattr sauf 'class somebody' ?
Merci !
Pour le code :
class a(object):
a='aaa'
b=a()
print hasattr(a,'a')
print hasattr(b,'a')
qui peut être appelé par hasattr sauf 'class somebody' ?
Merci !
Vous pouvez appeler hasattr
avec n'importe quel objet comme premier argument (et n'importe quelle chaîne de caractères comme second argument) : il renvoie simplement False si cet objet n'a pas d'attribut de ce nom ("avoir" un attribut inclut bien sûr la possibilité d'en hériter ou de le synthétiser ; hasattr(x,'y')
est Vrai si et seulement si l'accès x.y
ne lèverait pas d'exception -- c'est ainsi qu'il fonctionne en interne : il essaie de getattr
et attrape l'exception le cas échéant).
Selon la documentation Python, vous devez passer un objet comme paramètre de la fonction hasttr().
hasattr(objet, nom) : Les arguments sont un objet et une chaîne de caractères. Le résultat est True si la chaîne est le nom d'un des attributs de l'objet, False sinon. (Ceci est implémenté en appelant getattr(objet, nom) et en voyant si cela lève une exception ou non).
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.