Mehrzeilenkommentare

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.
pktm
User
Beiträge: 8
Registriert: Dienstag 9. Januar 2007, 19:18

Mehrzeilenkommentare

Beitragvon pktm » Sonntag 3. Juni 2007, 11:10

Hallo!

Wie kann ich Kommentare über mehrere Zeilen machen?

Grüße, pktm
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5554
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Telfs (Tirol)
Kontaktdaten:

Re: Mehrzeilenkommentare

Beitragvon gerold » Sonntag 3. Juni 2007, 11:28

pktm hat geschrieben:Wie kann ich Kommentare über mehrere Zeilen machen?

Hallo pktm!

Willkommen im Python-Forum!

Jede Kommentarzeile muss mit einem "#" beginnen.

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
EyDu
User
Beiträge: 4868
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Beitragvon EyDu » Sonntag 3. Juni 2007, 11:28

Code: Alles auswählen

#Das
#ist
#ein
#Kommentar
#ueber
#mehrere
#Zeilen

;-)

Mehrzeilige Kommentare werden nicht direkt durch Python unterstützt. Wenn du öfter solche Situationen hast, solltest du eventuell die entsprechenden Bereiche in eine Funktion/Methode auslagern, oder durch einen if schützen.

Mit den meisten IDEs ist es aber per Shortcut möglich, ganze bereiche aus und ein zu kommentieren
BlackJack

Beitragvon BlackJack » Sonntag 3. Juni 2007, 11:52

Nicht nur IDEs, das sollte jeder vernünftige Texteditor können.
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Beitragvon Y0Gi » Sonntag 3. Juni 2007, 13:37

Es ist *möglich*, Multiline-Strings zu verwenden, ohne diese einem Namen zuzuordnen. Syntaktisch ist das korrekt.

Allerdings solltest du längere Ausführungen im Docstring der Funktion/Methode/Klasse unterbringen und in dessen Rumpf mit maximal zwei Zeilen pro Kommentar auskommen können.
pktm
User
Beiträge: 8
Registriert: Dienstag 9. Januar 2007, 19:18

Beitragvon pktm » Sonntag 3. Juni 2007, 15:05

Y0Gi hat geschrieben:Es ist *möglich*, Multiline-Strings zu verwenden, ohne diese einem Namen zuzuordnen. Syntaktisch ist das korrekt.

Allerdings solltest du längere Ausführungen im Docstring der Funktion/Methode/Klasse unterbringen und in dessen Rumpf mit maximal zwei Zeilen pro Kommentar auskommen können.


Das hört sich nach etwas an was ich suche. Kannst du mir das näher ausführen?
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Beitragvon Sr4l » Sonntag 3. Juni 2007, 15:06

Code: Alles auswählen

def test():
    """in dieser funktion wird nur getestet
    wie man diese kommentare schreibt sollte
    aber in jedem guten tutorial stehen ;-)"""
    return True
rafael
User
Beiträge: 189
Registriert: Mittwoch 26. Juli 2006, 16:13

Beitragvon rafael » Sonntag 3. Juni 2007, 15:45

Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Beitragvon Y0Gi » Montag 4. Juni 2007, 12:52

Ja, schau dir mal den von rafael verlinken Thread an, dort habe u.a. auch ich etwas dazu geschrieben.

Letztlich sind Docstrings für Klassen, Methoden und Funktionen auch einfach Strings, die nicht explizit einen Namen zugewiesen bekommen. Durch ihre Position direkt unter der jeweiligen Signatur (class [...], def [...]) bekommen sie jedoch eine besondere Bedeutung und werden als Attribut zugreifbar. Dessen bedient sich auch nenen API-Doku-Generatoren die eingebaute Hilfe mit ``help(deine_funktion)``, die den Docstring ausgibt.

Beispiel:

Code: Alles auswählen

def do_something(a, b, c):
    """Do something with those arguments.

    Additional information goes here.
    """

# Docstring ausgeben; ist nun ein Attribut
# der Funktion.
print do_something.__doc__

# Hilfe zu dieser Funktion aufrufen. Der Docstring wird
# aufbereitet und gemeinsam mit anderen Informationen
# ausgegeben, etwa über die Argumente der Funktion.
help(do_something)

Hinweis: Da der Docstring zum Rumpf dieser Funktion gehört, kann das ohne diesen erforderliche `pass` entfallen. Das gilt auch z.B. für eigene Exception-Klassen, die selbst mit einem einzeiligen Docstring insgesamt nur zwei Zeilen beanspruchen.

Zu Docstrings und deren Formatierung siehe den Styleguide (PEP 8) sowie die Docstring Conventions (PEP 257).

Wer ist online?

Mitglieder in diesem Forum: __deets__, Bing [Bot], Kniffte, pixewakb