orienté objet Python - Avancé - membres et de l'apprentissage intégré magique singe Méthode #


 

 

### 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!

Je suppose que tu aimes

Origine www.cnblogs.com/itxdl/p/12522545.html
conseillé
Classement