Heim >Backend-Entwicklung >Python-Tutorial >Warum geben die In-Place-Listenmethoden von Python keine zurück?

Warum geben die In-Place-Listenmethoden von Python keine zurück?

Susan Sarandon
Susan SarandonOriginal
2024-12-28 22:22:16689Durchsuche

Why Do Python's In-Place List Methods Return None?

Warum geben Pythons Mutating-List-Methoden „Keine“ zurück?

Viele Python-Listenmethoden, einschließlich Anhängen, Sortieren, Erweitern, Entfernen, Löschen und Umkehren, nach dem Ändern der Liste None zurückgeben. Diese Designwahl hat Fragen zu ihrer Begründung und möglichen Nachteilen aufgeworfen.

Gemäß den Designprinzipien von Python sollten Funktionen, die ein Objekt an Ort und Stelle mutieren, None zurückgeben. Dies unterstreicht, dass die Operation am vorhandenen Objekt ausgeführt wird, anstatt ein neues zu erstellen.

Guido van Rossum, der Erfinder von Python, erklärt die Gründe für diese Entscheidung:

  • Verkettung seiten- Von Auswirkungen auf ein einzelnes Objekt wird abgeraten, da es die Lesbarkeit des Codes erschweren kann.
  • Die Verwendung von None in Rückgabeanweisungen hilft zu verdeutlichen, dass diese Methoden nur das ändern Originalobjekt und erzeugen keinen neuen Wert.

Während einige argumentieren, dass dieses Design die „Verkettung“ der Listenverarbeitung behindert, glaubt Rossum, dass es die Lesbarkeit des Codes verbessert und deutlich macht, dass dies bei nachfolgenden Vorgängen der Fall ist auf dasselbe Objekt angewendet.

Er kontrastiert dies mit Verkettungsoperationen, die neue Werte zurückgeben, wie z. B. String-Verarbeitungsoperationen, die er für geeignet hält Verkettung.

Zusammenfassend lässt sich sagen, dass die Entscheidung, None aus Pythons Mutationslistenmethoden zurückzugeben, auf dem Entwurfsprinzip der Unterscheidung zwischen Operationen, die ein Objekt direkt ändern, und solchen, die einen neuen Wert zurückgeben, basiert.

Das obige ist der detaillierte Inhalt vonWarum geben die In-Place-Listenmethoden von Python keine zurück?. 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