Un get() comme méthode de vérification pour Python attributs
Si j'avais un dictionnaire dict
et je voulais vérifier pour dict['key']
je pouvais soit faire dans un try
bloc (bleh!) ou utiliser le get()
méthode, avec False
comme valeur par défaut.
J'aimerais faire la même chose pour object.attribute
. C'est, j'en ai déjà l'objet de retour False
si il n'a pas été défini, mais qui me donne des erreurs comme
AttributeError: 'bool' objet n'a pas d'attribut "attribut"
Vous devez vous connecter pour publier un commentaire.
Plus directe de la télévision analogique à
dict.get(key, default)
quehasattr
estgetattr
.(Où
default_value
est facultatif, le déclenchement d'une exception sur aucun attribut si elle ne trouve pas.)Pour votre exemple, vous voulez passer
False
.Voulez-vous dire
hasattr()
peut-être?Python.org doc - fonctions intégrées - hasattr()
Vous pouvez également le faire, ce qui est un peu plus encombré et ne fonctionne pas pour les méthodes.
Pour vérifier si une clé est dans un dictionnaire, vous pouvez utiliser
in
:'key' in dictionary
.De vérification des attributs de l'objet de l'utilisation de la
hasattr()
fonction:hasattr(obj, 'attribute')