Seite 1 von 1

Docstring

Verfasst: Donnerstag 22. Dezember 2005, 14:47
von 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

Verfasst: Donnerstag 22. Dezember 2005, 15:04
von Joghurt
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.

Re: Docstring

Verfasst: Donnerstag 22. Dezember 2005, 15:05
von 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

Verfasst: Donnerstag 22. Dezember 2005, 15:13
von 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

Verfasst: Freitag 23. Dezember 2005, 00:16
von 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. ;-)

Verfasst: Freitag 23. Dezember 2005, 09:34
von jens
So nebenbei: In SciTE werden auch dreifache anders gehightlighted als Doc-Strings mit einem Anführungszeichen...

Verfasst: Freitag 23. Dezember 2005, 09:37
von Leonidas
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.

Verfasst: Freitag 23. Dezember 2005, 09:40
von jens
Sozu? Ich find das ok so :lol:

Verfasst: Freitag 23. Dezember 2005, 14:10
von Joghurt
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""".