Wie Sie wissen, die Funktion Rückgabe-Typ und die argument-Typen?

Während ich bin mir bewusst, das duck-typing Konzept von Python, habe ich manchmal etwas Mühe mit der Art der Argumente der Funktionen oder der Typ des Rückgabewerts der Funktion.

Nun, wenn ich schrieb, die Funktion selber, ich kenne den Typen. Aber was, wenn jemand nutzen will und rufe meine Funktionen an, wie ist er/Sie erwartet, dass Sie die Typen?
Ich gewöhnlich geben Sie Informationen in die Funktion den docstring (wie: "...the id argument should be an integer..." und "... the function will return a (string, [integer]) tuple.")

Aber sucht die Informationen in den docstring (und man es dort als Programmierer) wirklich, wie es gemacht werden soll?

Edit: Während die meisten Antworten scheinen direkt in Richtung "ja, Dokument!" Ich glaube, das ist nicht immer sehr einfach für den "komplexen" Typen.
Zum Beispiel: wie beschreiben prägnant in einem docstring, der eine Funktion liefert eine Liste von Tupeln, wobei jedes Tupel der form (node_id, Knotenname, uptime_minutes) und die Elemente sind jeweils in einen string -, string-und integer?

Der docstring PEP, die Dokumentation gibt keine Richtlinien auf.

Ich denke, das Gegenargument wird sein, dass in diesem Fall Klassen verwendet werden sollten, aber ich finde python sehr flexibel, da es erlaubt die übergabe um diese Dinge mit Listen und Tupeln, d.h. ohne Klassen.

  • Die kurze Antwort ist "ja". Die lange Antwort ist "ja, natürlich". Ich weiß nicht, ob Sie sich angeschaut haben viel Python-code, aber man sollte wohl update die Frage, um anzugeben, welche Pakete Sie tatsächlich nutzen, so können wir Sie direkt zu code können Sie Lesen, um zu sehen, wie Dinge getan werden in der library-code, den Sie eigentlich gerade benutzen.
  • Ich bin derzeit am kämpfen mit dem mechanize-Paket, aber ich denke, es ist nur (leider) schlecht dokumentiert.
  • Python ist cool, da kann man eine Menge Quellcode schreiben schnell und Sie müssen nicht sorgen zu machen über ganz Banale Dinge wie return-Typen, argument-Typen, Laufzeit, Leistung, Menschen, verwenden und pflegen Sie Ihre spaghetti-code für die nächsten 10 Jahre, etc.. Seufz.
InformationsquelleAutor Rabarberski | 2011-03-17
Schreibe einen Kommentar