Die meisten Sprachen kennen das "return self" -Idiom und ignorieren es, wenn es nicht in einer Zeile verwendet wird. Es ist jedoch bemerkenswert, dass in Python Funktionen None
standardmäßig zurückgegeben werden.
Als ich in der CS-Schule war, machte mein Ausbilder eine große Sache über den Unterschied zwischen Funktionen, Prozeduren, Routinen und Methoden. Viele handverkrampfte Essayfragen wurden mit Druckbleistiften herausgeschliffen, die mir bei all dem heiß wurden.
Es genügt zu sagen, dass die Rückkehr zu sich selbst der endgültige Weg ist, Klassenmethoden zu erstellen, aber Python erlaubt mehrere Rückgabewerte, Tupel, Listen, Objekte, Primitive oder Keine.
Verkettung bedeutet lediglich, die Antwort auf die letzte Operation in die nächste zu verschieben, und die Laufzeit von Python kann so etwas optimieren. Listenverständnisse sind eine eingebaute Form davon. (Sehr kraftvoll!)
Daher ist es in Python nicht so wichtig, dass jede Methode oder Funktion Dinge zurückgibt, weshalb der Standardwert None ist.
Es besteht die Meinung, dass jede Aktion in einem Programm ihren Erfolg, ihr Scheitern oder ihr Ergebnis an den aufrufenden Kontext oder das aufrufende Objekt zurückmelden sollte, aber hier nicht über die DOD-ADA-Anforderungen gesprochen hat. Wenn Sie Feedback von einer Methode benötigen, gehen Sie vor oder nicht, aber versuchen Sie, diesbezüglich konsistent zu sein.
Wenn eine Methode fehlschlagen kann, sollte sie Erfolg oder Misserfolg zurückgeben oder eine zu behandelnde Ausnahme auslösen.
Eine Einschränkung ist, dass Sie mit Python alle Ihre Methoden Variablen zuweisen können, wenn Sie die Rückgabeselbstbezeichnung verwenden, und Sie möglicherweise glauben, dass Sie ein Datenergebnis oder eine Liste erhalten, wenn Sie das Objekt tatsächlich erhalten.
Typbeschränkende Sprachen schreien und schreien und brechen, wenn Sie dies versuchen, aber interpretierte Sprachen (Python, Lua, Lisp) sind viel dynamischer.