Maison  >  Article  >  développement back-end  >  Comment obtenir toutes les propriétés d'un objet en Python

Comment obtenir toutes les propriétés d'un objet en Python

anonymity
anonymityoriginal
2019-05-25 14:32:028664parcourir

En utilisant la réflexion en Python, vous pouvez obtenir tous les attributs d'un objet. Ce mécanisme est appelé réflexion (qui à son tour permet à l'objet de nous dire de quoi il s'agit) et est utilisé pour obtenir des informations sur les objets inconnus au moment de l'exécution.

Comment obtenir toutes les propriétés d'un objet en Python

Voici plusieurs méthodes intégrées qui peuvent être utilisées pour vérifier ou accéder aux propriétés d'un objet. Ces méthodes peuvent être utilisées sur n'importe quel objet, pas seulement sur l'objet instance Cat dans l'exemple

#coding:utf-8
from a import *
cat = Cat('kitty')
print cat.name
cat.sayHi()    #调用实例方法
print dir(cat)
if hasattr(cat, 'name'): #检查实例是否有这个属性
    setattr(cat, 'name', 'tiger') #same as: a.name = 'tiger'
    print getattr(cat, 'name') #same as: print a.name
getattr(cat, 'sayHi')()

dir([obj]):

Appelez ceci ; méthode Renverra une liste contenant la plupart des noms d'attributs d'obj (certains attributs spéciaux ne seront pas inclus). La valeur par défaut de obj est l'objet module actuel.
hasattr(obj, attr) :
Cette méthode est utilisée pour vérifier si obj a un attribut nommé attr et renvoie une valeur booléenne.
getattr(obj, attr):
L'appel de cette méthode renverra la valeur de l'attribut nommé attr value dans obj, par exemple, si attr est 'bar', renverra obj.bar.
setattr(obj, attr, val):
L'appel de cette méthode attribuera val à l'attribut nommé attr de obj. Par exemple, si attr vaut « bar », cela équivaut à obj.bar = val.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn