miércoles, 18 de diciembre de 2013

Wie Equals überschreiben in Python

In der objektorientierten Programmierung (OOP), ist der Begriff der zwingenden Vergleichsoperatoren (kleiner als, größer als, gleich, etc.) notwendig. Um sicherzustellen, dass Vergleiche Objekt richtig zu verhalten (das heißt, wie Sie sie haben wollen), müssen Sie die Funktionalität eines Operators zu reflektieren, wie zwei Objekte miteinander interagieren sollen. Python ist keine Ausnahme von der Regel.

Schwierigkeitsgrad: Mäßig anspruchsvolle Anleitung

Was Sie benötigen

Python Interpreter mit Interactive Development Environment (IDE)

Richten Sie eine Klasse. Diese Klasse wird dazu dienen, welche Art von Vergleichen ein Programmierer im Laufe eines Programms erforderlich machen könnten, zu definieren. Rufen Sie die Klasse "Vergleichen":

Klasse vergleichen:

Geben Sie in der IDE:

. . . def __ init__ (self, val1, val2):

. . . self.val1 = val1

. . . self.val2 = val2

Dies definiert die Klasse mit zwei Datenwerte (val1, val2), die initialisiert, wenn die Klasse instanziiert werden.

Überschreiben Sie die "gleich"-Operator. In Computer-Programmierung, kehrt die Gleichheits-Operator überprüft Wert Gleichheit und wahr oder falsch auf der Grundlage der Gleichheit der angegebenen Werte. Unter der Annahme, dass die Gleichheit der Art vergleichen die val1 jedes Objekts abhängt, geben Sie folgendes in der IDE:

. . . def __ eq__ (self, other):

. . . return (self.val1 == other.val1)

Dies überschreibt die Gleichheits-Operator (==), so dass sie neu definiert werden können.

Überprüfen Sie die Ergebnisse. Geben Sie in der IDE:

comp1 = vergleichen (1,4)

comp2 = vergleichen (1, 57)

print (comp1 == comp2)

Wahre

comp1 == comp2 druckt "Wahr", weil die val1 Variablen gleich sind, und somit per Definition die Objekte gleich sind.

 

No hay comentarios:

Publicar un comentario