Maison > développement back-end > Tutoriel Python > 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
Libérer: 2019-05-25 14:32:02
original
8704 Les gens l'ont consulté

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')()
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal