Maison  >  Article  >  développement back-end  >  Python sur la réflexion et les méthodes membres spéciales des classes

Python sur la réflexion et les méthodes membres spéciales des classes

巴扎黑
巴扎黑original
2017-09-16 10:06:341059parcourir

Cet article partage avec vous les méthodes spéciales des membres de Python sur la réflexion et les cours. Il est très bon et a une valeur de référence. Les amis qui en ont besoin peuvent s'y référer

Réflexion.

La réflexion signifie qu'il y a 4 fonctions intégrées : getattr, hasattr, setattr, delattr pour obtenir des membres, vérifier les membres, définir des membres, supprimer des membres


class Dog(object):
  def __init__(self,name):
    self.name = name
  def eat(self):
    print("%s is eating..."%self.name)
def run():
  print("runing ....")
d = Dog("lucy")
choise=input("请输入要调用的方法:")
if hasattr(d,choise):#判断一个对象是否有对应的字符串方法
  func=getattr(d,choise)#根据字符串去获取对象里相应的方法或属性的内存地址对象
  func()
else:
  setattr(d,choise,run)#setattr(obj,y,fun)相当于obj.y=fun,fun可以是属性或者方法
  v=getattr(d,choise)
  print(v)

dir([obj]):

L'appel de cette méthode renverra une liste contenant la plupart des noms d'attributs d'obj (il y aura des attributs spéciaux qui ne sont pas compris). 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 avec une valeur nommée 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 ', puis renvoie 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.

__doc__ Afficher les informations de description détaillées
__module__ représente le module où se trouve l'objet actuellement utilisé
__class__ représente la classe à laquelle appartient l'objet actuellement utilisé
__init__ le constructeur crée automatiquement des objets via des classes Exécutez la méthode destructeur
__del__, l'objet actuel est libéré dans la mémoire, tuez automatiquement le démon et exécutez
Ajoutez des parenthèses après l'objet __call__ pour déclencher l'exécution
__dict__ Visualisez les membres de la classe ou de l'objet
__str__ if Si cette méthode est définie dans une classe, alors lors de l'impression d'un tel objet, la valeur de retour de cette méthode est affichée
__getitem__ Lorsque le membre d'attribut d'un dictionnaire est défini dans la classe, vous pouvez obtenir le <.>__setitem__ paramètre pour modifier le dictionnaire dans la classe. Data
__delitem__ supprime les données du dictionnaire dans la classe
__metalass__ qui est utilisé pour indiquer qui instancie et crée la classe
__new__ déclenche __init__ pour créer un exemple


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