![](https://upload-images.jianshu.io/upload_images/17624434-5f9fd883c16a574c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
### membres construits
python `` `
# Appartient aux membres de la classe pour obtenir une classe / objet / objet .__ dict__
res = Demo .__ dict__ # get classe actuelle du membre
res = obj .__ dict__ # Obtenez les membres actuels de l'objet appartient
# Obtenez la classe de classe de document d'information / objet .__ doc__
res = Demo .__ doc__
res = obj .__ doc__
# Obtient le nom de chaîne de la classe formée par
res = Demo .__ name__
# Obtenir le nom du fichier de la classe est situé, si le fichier actuel est affiché comme __main__
res = Demo .__ module__
# __Bases__ obtenir une liste de la classe actuelle de la classe parente
res = Demo .__ base__ # obtenir le premier héritage de la classe parent
res = Demo .__ bases__ # obtenir une liste de toutes la classe parente héritée
# MRO obtenir une liste de la chaîne d'héritage de classe actuelle
Demo = rien .__ mro__
`` `
### méthode de classification
python `` `
1. Méthodes d'objet
Caractéristiques:
Procédé tel que défini dans la classe, contenant paramètre auto
2. La méthode de contenir l'auto, ne peut être appelé en utilisant l'objet
3. La méthode passerait des objets appel à la
2. Méthodes de classe
Caractéristiques:
1. Le procédé tel que défini dans la classe, le décorateur sont décorées @classmethod
2. Cette méthode a des arguments de ligne de cls. Instancier un objet n'a pas besoin d'utiliser directement l'appel de classe
3. Cette méthode appellera la classe adoptée en
3. Méthode de classe Binding
Caractéristiques:
1. Le procédé défini dans la classe
2. Utilisez uniquement être appelée classe
3. objet entrant ou classe ne sont pas transmises
4. Méthode statique
Caractéristiques:
1. Dans la méthode définie dans la classe, nous utilisons le décorateur sont décorées @staticmethod
2. Vous pouvez utiliser un appel d'objet ou de la classe
3. objet entrant ou classe ne sont pas transmises
`` `
### fonctions fréquemment utilisées
python `` `
# Classes de détection et d'objets liés
# Issubclass (sous-classe, la classe parente) # détecter si une classe est une sous-classe d'une autre classe
# Res = issubclass (D, B)
# La isinstance (classe d'objets) # détecter si un objet est une instance de la classe ou sous-classe du résultat de la classe
# Res = isinstance (d, A)
# Les membres des classes et des objets liés à l'exploitation
# hasattr ( « noms de membres » d'objet / classe) de détection de la classe / objet contient le nom de l'élément spécifié de la
# Res = hasattr (d, 'nom')
#getattr ( « noms de membres » objet / classe) Obtient la valeur d'un membre de la classe # / objet
# Res = getattr (d, 'dire')
Valeur d'attribut du membre # setattr (objet / classe « nom de membre », « valeur du membre ») fourni classe / objet
res = setattr (d, 'nom', 'ooo')
# Print (d.name)
#delattr (classe / objet « nom de membre ») suppression des propriétés membres de classe / objet et del supprimer un objet est membre des mêmes résultats
# Delattr (D, 'nom')
# Dir () # obtenir une liste de l'objet en cours peut être consulté par les membres du
dire rien = (d)
`` `
### Méthodes magiques
> Méthode magique qui ne nécessite pas d'appels de méthode manuelle peut être automatiquement exécuté
python `` `
1. Procédé d'initialisation __init__ *****
mécanisme déclencheur: la méthode lors de l'instanciation de l'objet et déclenchera immédiatement
Rôle: objet complet créé actuellement des opérations d'initialisation, telles que: méthode d'affectation d'appel de propriétés membres, ouvrir ou créer des ressources. .
Paramètres: une auto, recevant l'objet courant, d'autres paramètres peuvent être définis en fonction des besoins
Valeur de retour: Aucun
Avertissements: Aucun
2. constructeur __new__ ****
Mécanisme de déclenchement: déclenchement automatique (déclenchement avant __init__) lorsqu'un objet est instancié
Rôle: objets de processus de contrôle de gestion créé
Paramètres: cls recevant une classe en cours, d'autres paramètres sont déterminés selon la méthode des paramètres d'initialisation
Valeur de retour: doit retourner l'objet .__ nouveau __ (cls) objet créé, si aucune valeur de retour est une instance d'un objet résulte Aucun
précautions:
La méthode de paramètre et un procédé de __new__ cohérence, en plus du premier paramètre
Doit retourner l'objet .__ nouvelles __ (cls) objet créé, si aucune valeur de retour est une instance d'un objet résulte Aucun
Scénario: conception singleton modèle de conception de modèle
3. __del__ destructor *****
mécanisme de déclenchement: Lorsque l'objet de classe est automatiquement détruit déclencheur
Certaines ressources ou créer ouvertes ou fermées lorsque la libération des objets créés: le rôle de
Paramètres: auto, accepter l'objet courant
Valeur de retour: Aucun
Avertissements: Aucun
4. __call__ ***
mécanisme de déclenchement: déclenché automatiquement lorsque l'objet en tant que les appels de fonction directe
Action: classe générale ou d'un objet pour les étapes inductives pour faciliter l'appel
Paramètres: réception d'un objet auto-courant, selon d'autres paramètres appellent les inconvénients des besoins
Retours: en option
5 .__ len__
Mécanisme de déclenchement: En utilisant la fonction len pour détecter l'objet en cours de déclenchement automatique
Action: len fonction peut être utilisée dans les informations de détection de l'objet en cours est une donnée
Paramètres: réception d'un objet auto-courant
Retours: il doit y avoir, et doit être un entier
Remarque: len pour obtenir la valeur de toute propriété, dont la longueur propriété est retournée dans la valeur de retour peut être
6 .__ str__
mécanisme de déclenchement: Lorsqu'une fonction d'impression str ou déclenchée fonctionner automatiquement sur l'objet
Action: retour chaîne de code objet, des informations personnalisées peuvent être imprimées
Paramètres: une auto, recevant l'objet courant
Retours: il doit y avoir, à l'écart doit être une valeur de type chaîne
7 .__ repr__
Mécanisme de déclenchement: déclenchée automatiquement lorsque l'objet en cours en utilisant la méthode pour convertir repr
Effet: les résultats peuvent être fournis dans la fonction cible d'opération repr
Paramètres: une auto, recevant l'objet courant
Retours: il doit y avoir, à l'écart doit être une valeur de type chaîne
Remarque: Dans des circonstances normales, s'il n'y a pas de magie __str__ cette méthode, __ méthode repr__ remplacera les méthodes magiques __str__
8 .__ bool__
mécanisme déclencheur: la fonction actuelle de l'utilisation bool convertit l'objet courant, déclenché automatiquement par défaut, l'objet est converti en vrai.
Effet: bool objet peut remplacer le type de convertisseur qui peut convertir des données
Paramètres: réception d'un objet auto
Renvoie: la valeur de retour doit être une valeur booléenne
`` `
### membres des méthodes magiques pertinentes
python `` `
## 1. la plus haute priorité __getattribute__
mécanisme de déclenchement: Lorsque vous accédez à des membres de l'objet, déclenché automatiquement, indépendamment du fait que il est actuellement membre
Rôle: Vous pouvez obtenir l'objet lorsque les membres de certaines des données de traitement
Paramètres: un objet auto de réception, un nom d'élément de l'élément de courant reçoit un accès
Valeur de retour: dispensable, la valeur de retour est le résultat de l'accès
Remarque: Dans la méthode magique actuelle, l'interdiction des membres de l'objet courant est accessible, il déclenche récursivité.
Si vous souhaitez accéder à l'objet dans les membres actuels des méthodes magiques doivent être utilisés pour accéder à l'objet
Format: objet .__ getattribute __ (self, item)
## 2. __getattr__
mécanisme de déclenchement: Lorsqu'un membre d'accès à l'objet n'existe pas, déclenchement automatique
Rôle: pour empêcher l'accès des membres lorsqu'une erreur n'existe pas, peut aussi être un membre de la mission n'existe pas
Paramètres: une auto recevoir l'objet en cours, un nom d'élément de l'élément en cours reçoit un accès
Retours: en option
Remarque: Quand il y a __getattribute__ méthode, la méthode sera d'effectuer __getattribute__
Notez aussi, de ne pas visiter encore cela n'existe pas dans les membres actuels de la méthode, il déclenche récursion
## 3. __setattr__
mécanisme de déclenchement: Lorsque l'affectation aux membres de l'objet automatiquement déclencheurs (y compris ajouter, modifier)
Rôle: limite ou les membres de la direction cible pour ajouter et modifier des opérations
Paramètres: 1. 2 reçoit l'auto objet actuel. Nom du membre paramètre clé 3. valeurs de membre de réglage val
Valeur de retour: Aucun
Remarque: Dans la méthode magique d'interdiction actuelle de cibler directement les membres de la mission en cours, il déclenchera récursion
Si vous souhaitez attribuer aux membres de l'objet courant, vous avez besoin de l'objet
Format: objet .__ setattr __ (self, clé, valeur)
## 4. __delattr__
mécanisme de déclenchement: Lors de la suppression des objets automatiquement membre de déclenchement
Peut éviter d'être donné à limiter l'objet à supprimer un membre, vous pouvez également supprimer le membre n'existe pas: le rôle de
Paramètres: 1, 2 auto reçoit l'objet courant. élément supprimé Nom du membre
Valeur de retour: Aucun
Remarque: Ne supprimez pas l'objet dans les membres actuels des méthodes magiques, il déclenche récursivité.
Si vous voulez supprimer les membres de l'objet courant, nous avons besoin de l'aide de l'objet
Format: objet .__ delattr __ (self, item)
`` `
### membres de l'ordre d'accès! ! !
1. Appelez la méthode magique `__getattribute__`
2. Appel descripteur de données parlera plus tard []
3. Les membres d'appel de l'objet courant
4. Appelez les membres de la classe actuelle
5. Appel Descriptor données [non parle plus tard]
6. Appelez les membres de la classe parente
7. Appelez la méthode magique `__getattr__`
> Lorsque la séquence d'étapes ci-dessus lors de l'appel d'un élément de ce qui précède peut être appelé avec succès, le dos est pas effectuée
méthode d'apprentissage maîtrise, comme plier à dépasser!
Apprendre à singe: les réalisations de leur juste une boutique!