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.
Gast

Docstring

Beitragvon Gast » Donnerstag 22. Dezember 2005, 14:47

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
Benutzeravatar
Joghurt
User
Beiträge: 877
Registriert: Dienstag 15. Februar 2005, 15:07

Beitragvon Joghurt » Donnerstag 22. Dezember 2005, 15:04

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

Re: Docstring

Beitragvon joe » Donnerstag 22. Dezember 2005, 15:05

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

Beitragvon Gast » Donnerstag 22. Dezember 2005, 15:13

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

Beitragvon BlackJack » Freitag 23. Dezember 2005, 00:16

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
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Beitragvon jens » Freitag 23. Dezember 2005, 09:34

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

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Freitag 23. Dezember 2005, 09:37

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 Modvoice
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Beitragvon jens » Freitag 23. Dezember 2005, 09:40

Sozu? Ich find das ok so :lol:

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
Joghurt
User
Beiträge: 877
Registriert: Dienstag 15. Februar 2005, 15:07

Beitragvon Joghurt » Freitag 23. Dezember 2005, 14:10

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""".

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot]