Docstring

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Gast

Hallo zusammen!

Seit einiger Zeit habe ich immer für Docstring dreifach doppelte Anführungszeichen verwendet, aber vor kurzem habe ich gelesen. Man kann auch einfach einfach/doppelte Anführungszeichen verwenden.

Ich habe probiert. Es tut auch.

Nun meine Frage, wer /welche Tools verlangt die dreifach doppelte Anführungszeichen.

Danke für den Hinweise!

Boostpy
Joghurt
User
Beiträge: 877
Registriert: Dienstag 15. Februar 2005, 15:07

Keins.

Dreifache " heißen nur, dass der Text, so wie er dort steht, übernommen wird, inklusive Zeilenumbrüche:

Code: Alles auswählen

a = """ABC
DEF
GHI"""
ist gleichbedeutend mit

Code: Alles auswählen

a = "ABC\n"\
"DEF\n"\
"GHI"
aber das will keiner schreiben. In der Tat ist ein einzeiliger Docstring mit drei Anführungszeichen überflüssig.

Code: Alles auswählen

class Foo:
  """Die meisten Leute schreiben auch einzeilige Docstrings so"""
  def bar(self):
      "Obwohl das auch völlig ausreicht"
Das kommt wahrscheinlich daher, dass viele Leute meinen, """ sei ein extra Token für Docstrings, was aber nicht stimmt. Wenn das erste Token in einer Klassen/Funktionsdefinition ein String ist, ist das der Docstring.
Zuletzt geändert von Joghurt am Donnerstag 22. Dezember 2005, 15:06, insgesamt 1-mal geändert.
joe

Anonymous hat geschrieben:Nun meine Frage, wer /welche Tools verlangt die dreifach doppelte Anführungszeichen.
Schlechte tools, vermute ich :-). Ich kenne aber keins.
Wenn das erste statement eines moduls, einer funktion, einer klasse oder einer methode ein string-literal ist, ist dieser string der docstring. Wenn das 3rd-party-programme anders sehen, ist der deren pech.
joe
Gast

zu Joghurt,

thanks, ich kappiere nun endlich!

zu Joe,
vielleicht habe ich falsch ausgedrückt, momentan habe ich kein tools gesehen :lol: , das die dreifach doppelte Anführungszeihen verlangt.

Vielleicht nur wegen der Konvertion """ verwendet, da es sehr selten im Dokument vorhanden sein wird, wie die here Doc unter Shell-Script(heißt es wirklich here doc)

danke euch beiden noch einmal!

Boostpy
BlackJack

Das mitgelieferte `pydoc` hat unter bestimmten Umständen dreifache doppelte Anführungsstriche verlangt. Ich weiss nicht ob das mittlerweile ausgebessert wurde.

Die Form wird aber auch im Style Guide vorgeschlagen, deshalb nehme ich sie immer und deshalb sieht man sie wahrscheinlich auch in 99% des vorhanden Quelltextes. Vorausgesetzt er ist überhaupt dokumentiert. ;-)
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

So nebenbei: In SciTE werden auch dreifache anders gehightlighted als Doc-Strings mit einem Anführungszeichen...

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

jens hat geschrieben:So nebenbei: In SciTE werden auch dreifache anders gehightlighted als Doc-Strings mit einem Anführungszeichen...
Kann man aber sicher umstellen. Ich habe grad hier keinen SciTE zur Hand, aber gehen sollte es schon.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Sozu? Ich find das ok so :lol:

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Joghurt
User
Beiträge: 877
Registriert: Dienstag 15. Februar 2005, 15:07

jens hat geschrieben:So nebenbei: In SciTE werden auch dreifache anders gehightlighted als Doc-Strings mit einem Anführungszeichen...
Macht ja auch Sinn: ein "string" ist etwas anderes als ein """string""".
Antworten