Maison  >  Article  >  développement back-end  >  Analyse détaillée de l'utilisation de la surcharge des opérateurs en Python

Analyse détaillée de l'utilisation de la surcharge des opérateurs en Python

高洛峰
高洛峰original
2017-03-06 13:43:461310parcourir

Les exemples de cet article décrivent l'utilisation de la surcharge d'opérateurs en Python. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants : La classe

peut surcharger l'opérateur python. La surcharge de l'opérateur

rend nos objets identiques à ceux intégrés. La méthode nommée __X__ est un hook spécial, et python intercepte l'opérateur via cette dénomination spéciale pour réaliser une surcharge. Python appellera automatiquement une telle méthode lors du calcul des opérateurs, par exemple :

Si l'objet hérite de la méthode __add__, cette méthode sera appelée lorsqu'elle apparaîtra dans l'expression. Grâce à la surcharge, les objets définis par l'utilisateur se comportent comme ceux intégrés.

Surcharge des opérateurs dans les classes

1. La surcharge des opérateurs permet aux classes d'intercepter les opérations Python standard.
2. Les classes peuvent surcharger tous les opérateurs d'expression Python.
3. Les classes peuvent surcharger les opérations sur les objets : impression, appel de fonction, qualification, etc.
4. La surcharge fait que les instances de classe ressemblent davantage à des instances intégrées.
5. La surcharge est implémentée via des méthodes de classe spécialement nommées.

La description de l'opération du nom de la méthode est l'expression d'appel __nit__ objet de création de fonction de construction : class ()
__ del__ lorsque la fonction de structure libère l'objet __add__ " " " " x y
__or__ "|" x | y
__repr__ >__getattr__ Référence d'attribut x.undefined
__getitem__ Index x[key], pour la boucle, dans le test
__setitem__ Affectation de l'index x[key] = value
__getslice__ Sharding x[low:high]
__len__ Longueur len(x)
__cmp__ Comparer x == Y , 🎜>


Pour une analyse plus détaillée de l'utilisation de la surcharge d'opérateurs en Python, veuillez prêter attention au site Web PHP 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