Maison > développement back-end > Tutoriel Python > Comment l'opérateur = fonctionne-t-il avec des objets personnalisés en Python ?

Comment l'opérateur = fonctionne-t-il avec des objets personnalisés en Python ?

DDD
Libérer: 2024-11-10 00:27:02
original
249 Les gens l'ont consulté

How Does the  = Operator Work with Custom Objects in Python?

Comprendre l'opérateur = en Python

En Python, l'opérateur = est un outil polyvalent qui simplifie le code en combinant affectation et addition. Il s'agit essentiellement de sucre syntaxique pour la méthode spéciale iadd. Si iadd n'est pas présent dans une classe, add ou radd peut être utilisé à la place.

Par exemple, considérons l'objet liste. Lorsque vous utilisez l'opérateur = sur une liste, Python parcourt l'itérable fourni, ajoutant chaque élément à la liste. Ce comportement est similaire à la méthode extend de la liste.

Pour illustrer le fonctionnement de la méthode iadd, créons une classe personnalisée appelée Adder :

class Adder(object):
    def __init__(self, num=0):
        self.num = num

    def __iadd__(self, other):
        print('in __iadd__', other)
        self.num += other
        return self.num
Copier après la connexion

Dans cette classe , la méthode iadd ajoute le numéro fourni à l'attribut num de l'objet Adder et renvoie la valeur mise à jour.

L'utilisation de l'opérateur = sur un objet Adder appellera le iadd method :

a = Adder(2)
a += 3  # Will print "in __iadd__ 3"
print(a)  # Outputs 5
Copier après la connexion

En personnalisant la méthode iadd, vous pouvez adapter le comportement d'ajout à vos propres objets. Cela ajoute de la flexibilité et de l'expressivité à votre code.

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!

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