Heim  >  Artikel  >  Backend-Entwicklung  >  So verwenden Sie die Funktion __len__(), um die Länge eines Objekts in Python zu definieren

So verwenden Sie die Funktion __len__(), um die Länge eines Objekts in Python zu definieren

PHPz
PHPzOriginal
2023-08-21 23:17:211652Durchsuche

So verwenden Sie die Funktion __len__(), um die Länge eines Objekts in Python zu definieren

So verwenden Sie die Funktion __len__() in Python, um die Länge eines Objekts zu definieren

In Python können wir die Länge eines Objekts normalerweise über die integrierte Funktion len() ermitteln. Bei benutzerdefinierten Objekten gibt die Funktion len() jedoch möglicherweise nicht unbedingt die Länge des Objekts korrekt zurück. Um dieses Problem zu lösen, stellt Python die spezielle Methode __len__() zur Verfügung. Wir können die Länge des Objekts definieren, indem wir diese Methode in einer benutzerdefinierten Klasse implementieren. Die Methode

__len__() ist eine spezielle Methode, mit der die Länge eines Objekts zurückgegeben wird. Es akzeptiert einen Parameter self, der ein Instanzobjekt der Klasse darstellt. Indem wir diese Methode in der Klasse definieren, können wir die Funktion len() die Länge des Objekts korrekt ermitteln lassen.

Hier ist ein Beispielcode:

class MyClass:

def __init__(self, data):
    self.data = data

def __len__(self):
    return len(self.data)

obj = MyClass([1, 2, 3, 4, 5])
print(len(obj))

Im obigen Beispielcode haben wir A Es wird eine MyClass-Klasse definiert, die Attributdaten enthält. Wir definieren die Länge des Objekts, indem wir die Methode __len__() in der Klasse implementieren. In der Methode __len__() verwenden wir die Funktion len(), um die Länge von self.data abzurufen und sie als Rückgabewert zu verwenden.

Dann haben wir ein Instanzobjekt obj der MyClass-Klasse erstellt und eine Liste mit 5 Elementen als Parameter an den Konstruktor dieses Objekts übergeben. Schließlich verwenden wir die Funktion len(), um die Länge des obj-Objekts abzurufen und das Ergebnis auszugeben.

Führen Sie den obigen Code aus. Das Ausgabeergebnis ist 5. Dies zeigt, dass wir die Methode __len__() erfolgreich verwendet haben, um die Länge des obj-Objekts zu definieren.

Zusätzlich zur Funktion len() können auch einige andere integrierte Funktionen und Methoden die Methode __len__() verwenden, um die Länge eines Objekts abzurufen. Beispielsweise können wir die Funktion sum() verwenden, um die Summe der Elemente in einem Objekt zu berechnen, und wir verwenden auch die Methode __len__().

Hier ist ein Beispielcode:

class MyList:

def __init__(self, data):
    self.data = data

def __len__(self):
    return len(self.data)

def __getitem__(self, index):
    return self.data[index]

def __setitem__(self, index, value):
    self.data[index] = value

def __delitem__(self, index):
    del self.data[index]

def __iter__(self):
    return iter(self.data)

my_list = MyList([1, 2, 3, 4, 5])
print(len(my_list))
print(sum(my_list))

Im obigen Beispielcode haben wir eine MyList-Klasse definiert, die Attributdaten enthält. Zusätzlich zur Implementierung der Methode __len__() implementieren wir auch Methoden wie __getitem__(), __setitem__(), __delitem__() und __iter__(), sodass Objekte wie eine Liste indiziert, zugewiesen, gelöscht und iteriert werden können.

In der Methode __len__() verwenden wir auch die Funktion len(), um die Länge von self.data zu ermitteln.

Dann haben wir ein Instanzobjekt my_list der MyList-Klasse erstellt und eine Liste mit 5 Elementen als Parameter an den Konstruktor dieses Objekts übergeben. Schließlich verwenden wir die Funktionen len() und sum(), um die Länge und Summe des my_list-Objekts zu ermitteln und die Ergebnisse auszudrucken.

Führen Sie den obigen Code aus. Die Ausgabeergebnisse sind 5 und 15. Dies zeigt, dass wir die Methode __len__() erfolgreich verwendet haben, um die Länge des my_list-Objekts zu definieren, und dass wir die Länge des Objekts auch korrekt ermitteln können, wenn wir andere integrierte Funktionen und Methoden verwenden.

Zusammenfassend lässt sich sagen, dass wir durch die Implementierung der Methode __len__() die Länge des Objekts in der benutzerdefinierten Klasse korrekt definieren können. Auf diese Weise kann nicht nur die Funktion len() die Länge des Objekts korrekt ermitteln, sondern auch einige andere integrierte Funktionen und Methoden können bei Verwendung die Länge des Objekts korrekt ermitteln. Gleichzeitig können Sie die Längendefinitionsmethode des Objekts an Ihre eigenen Bedürfnisse anpassen und so die Länge des Objekts flexibel und vielfältig gestalten.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie die Funktion __len__(), um die Länge eines Objekts in Python zu definieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn