Heim > Backend-Entwicklung > Python-Tutorial > Warum geben Pythons List-Mutating-Methoden „None' zurück?

Warum geben Pythons List-Mutating-Methoden „None' zurück?

Mary-Kate Olsen
Freigeben: 2024-12-22 12:23:11
Original
232 Leute haben es durchsucht

Why Do Python's List Mutating Methods Return `None`?

Warum Pythons Mutating-List-Methoden „Keine“ zurückgeben

In Python Operationen, die Listen ändern, z. B. Anhängen, Sortieren, Erweitern, Entfernen, Löschen und umgekehrt, geben überraschenderweise None anstelle der aktualisierten Liste zurück. Diese Designentscheidung hat Neugier und Debatten geweckt.

Guido van Rossum, Pythons Benevolent Dictator for Life (BDFL), erklärt, dass dieses Prinzip auf Überlegungen zum Codierungsstil zurückzuführen ist. Einige Sprachen bevorzugen die Verkettung mehrerer Nebenwirkungen auf ein einzelnes Objekt, wie in x.compress().chop(y).sort(z).

Van Rossum glaubt, dass diese Verkettung die Lesbarkeit für Leser beeinträchtigen kann, die mit den Methoden nicht vertraut sind beteiligt. Er bevorzugt einen expliziteren Stil, bei dem Nebenwirkungen getrennt und direkt auf das Objekt angewendet werden:

x.compress()
x.chop(y)
x.sort(z)
Nach dem Login kopieren

Dieser Ansatz macht deutlich, welches Objekt geändert wird, was das Verständnis fördert.

Van Rossum behält sich vor Verkettung für Vorgänge, die neue Werte zurückgeben, wie z. B. Zeichenfolgenverarbeitungsvorgänge, bei denen das Ergebnis eine transformierte Zeichenfolge ist, wie in:

y = x.rstrip("\n").split(":").lower()
Nach dem Login kopieren

Diese Entwurfsentscheidung wurde bewusst umgesetzt, um davon abzuschrecken Verkettung von Nebeneffektaufrufen und Betonung der Unterscheidung zwischen direkten Änderungen und Vorgängen, die neue Objekte zurückgeben. Auch wenn dies manchmal unbequem erscheinen mag, fördert es doch die Klarheit und Konsistenz des Python-Codierungsstils.

Das obige ist der detaillierte Inhalt vonWarum geben Pythons List-Mutating-Methoden „None' zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage