Pour utiliser la réflexion en Python, c'est une bonne idée de se souvenir des fonctions intégrées suivantes.
#Renvoie si l'objet a un attribut de nom
hasattr(object, name)
#Renvoie l'attribut de nom dans l'objet. default peut spécifier la valeur à renvoyer s'il n'y a pas d'attribut de nom
getattr(object, name[, default])
#Renvoie True si l'objet est appelable. Si vrai, object()Peut être exécuté avec.
callable(object)
#Tente de renvoyer une liste d'attributs valides à partir de l'objet
dir([object])
L'utilisation est comme ça. Par exemple, si vous souhaitez soit obtenir la valeur d'un attribut et le renvoyer, soit exécuter une méthode et la renvoyer.
if hasattr(object, name):
attr = getattr(object, name)
if callable(attr):
return attr()
else:
return attr
Recommended Posts