OK, mir ist bewusst, dass Zeichenfolgen in dreifachen Anführungszeichen als mehrzeilige Kommentare dienen können. Beispielsweise,
"""Hello, I am a
multiline comment"""
und
'''Hello, I am a
multiline comment'''
Aber technisch gesehen sind das Saiten, richtig?
Ich habe den Python-Styleguide gegoogelt und gelesen, konnte jedoch keine technische Antwort darauf finden, warum es keine formale Implementierung von mehrzeiligen Kommentaren vom Typ / * * / gibt. Ich habe kein Problem damit, dreifache Anführungszeichen zu verwenden, aber ich bin ein wenig neugierig, was zu dieser Designentscheidung geführt hat.
if False:
den Code einAntworten:
Ich bezweifle, dass Sie eine bessere Antwort erhalten als "Guido hatte nicht das Bedürfnis nach mehrzeiligen Kommentaren".
Guido hat darüber getwittert :
quelle
if False:
vor dem Code, der deaktiviert werden muss.if False
es besser ist. Es erreicht genau das Gleiche, ist aber weniger klar (da es auf einen Blick nicht so offensichtlich ist, dass der Codeblock deaktiviert wurde).Mehrzeilige Kommentare sind leicht zu brechen. Was ist, wenn Sie in einem einfachen Taschenrechnerprogramm Folgendes haben?
Versuchen Sie dies mit einem mehrzeiligen Kommentar zu kommentieren:
Hoppla, Ihre Zeichenfolge enthält das Endkommentar-Trennzeichen.
quelle
#:
und Einrückungen zu verwenden, um anzuzeigen, wann der Kommentar beendet ist. Es ist sauber, konsistent und handhabt das Verschachteln perfekt.Dreifach zitierter Text sollte NICHT als mehrzeiliger Kommentar betrachtet werden. Konventionell sind sie Docstrings . Sie sollten beschreiben, was Ihr Code tut und wie er verwendet wird, aber nicht zum Auskommentieren von Codeblöcken.
Laut Guido sind mehrzeilige Kommentare in Python nur zusammenhängende einzeilige Kommentare (Suche nach "Blockkommentaren").
Um Codeblöcke zu kommentieren, verwende ich manchmal das folgende Muster:
quelle
V}>>
Dies geht wahrscheinlich auf das Kernkonzept zurück, dass es einen offensichtlichen Weg geben sollte, eine Aufgabe zu erledigen. Zusätzliche Kommentarstile führen zu unnötigen Komplikationen und können die Lesbarkeit beeinträchtigen.
quelle
#
.Nun, die dreifachen Anführungszeichen werden als mehrzeilige Kommentare in Dokumentzeichenfolgen verwendet. Und # Kommentare werden als Inline-Kommentare verwendet und die Leute gewöhnen sich daran.
Die meisten Skriptsprachen haben auch keine mehrzeiligen Kommentare. Vielleicht ist das die Ursache?
Siehe PEP 0008 , Abschnitt Kommentare
Überprüfen Sie, ob Ihr Python-Editor eine Tastenkombination für Blockkommentare bietet. Emacs unterstützt es ebenso wie Eclipse, vermutlich die meisten anständigen IDEs.
quelle
Aus dem Zen von Python :
Es sollte einen - und vorzugsweise nur einen - offensichtlichen Weg geben, dies zu tun.
quelle
Persönlich ist mein Kommentarstil in Java wie
Nur einzeilige Kommentare zu haben ist also keine so schlechte Sache, wenn Ihr Stil typisch für das vorhergehende Beispiel ist, weil Sie im Vergleich dazu hätten
VB.NET ist auch eine Sprache mit nur einzeiligen Kommentaren, und ich persönlich finde es ärgerlich, wenn Kommentare weniger nach Kommentaren als nach Zitaten aussehen
Nur einzeilige Kommentare haben weniger Zeichen als mehrzeilige Kommentare und werden möglicherweise weniger wahrscheinlich von einigen zwielichtigen Zeichen in einer Regex-Anweisung maskiert? Ich würde Ned allerdings eher zustimmen.
quelle
So kommentieren Sie einen Codeblock in der Pycharm- IDE aus:
quelle
Verwenden Sie den Kommentarblock oder suchen und ersetzen Sie (s / ^ / # / g) in Ihrem Editor, um dies zu erreichen.
quelle
Ich habe dieses Problem gelöst, indem ich ein Makro für meinen Texteditor (TextPad) heruntergeladen habe, mit dem ich Zeilen hervorheben kann, und dann am ersten jeder Zeile # eingefügt wird. Ein ähnliches Makro entfernt die #. Einige fragen sich vielleicht, warum Multiline erforderlich ist, aber es ist praktisch, wenn Sie versuchen, einen Codeblock für Debugging-Zwecke "auszuschalten".
quelle
Für alle anderen, die in Python nach mehrzeiligen Kommentaren suchen - die Verwendung des dreifachen Anführungszeichens kann einige problematische Konsequenzen haben, wie ich gerade auf die harte Tour gelernt habe. Bedenken Sie:
Der mehrzeilige Kommentar wird in die nächste Zeichenfolge eingefügt, wodurch der
'species'
Schlüssel durcheinander gebracht wird . Besser nur#
für Kommentare verwenden.quelle
Weil die # -Konvention weit verbreitet ist und Sie mit einem mehrzeiligen Kommentar wirklich nichts tun können, was Sie mit einem # -Zeichenkommentar nicht können. Es ist ein historischer Unfall, wie die Abstammung von
/* ... */
Kommentaren, die auf PL / I zurückgehen.quelle
Angenommen, sie wurden nur als unnötig angesehen. Da ist es so einfach, einfach zu tippen
#a comment
, können mehrzeilige Kommentare nur aus vielen einzeiligen Kommentaren bestehen.Für HTML hingegen besteht ein größerer Bedarf an Multilinern. Es ist schwieriger, weiter zu tippen
<!--comments like this-->
.quelle
Dies ist nur eine Vermutung .. aber
Da es sich um Zeichenfolgen handelt, haben sie einen gewissen semantischen Wert (der Compiler entfernt sie nicht). Daher ist es sinnvoll, sie als Dokumentzeichenfolgen zu verwenden. Sie werden tatsächlich Teil des AST , sodass das Extrahieren von Dokumentation einfacher wird.
quelle
Außerdem sind mehrzeilige Kommentare eine Hündin . Tut mir leid zu sagen, aber unabhängig von der Sprache verwende ich sie nur zum Debuggen. Angenommen, Sie haben folgenden Code:
Dann stellen Sie fest, dass Ihr Code etwas enthält, das Sie mit dem Debugger nicht beheben können. Sie beginnen also mit dem manuellen Debuggen, indem Sie immer kleinere Codestücke mit diesen mehrzeiligen Kommentaren auskommentieren. Dies würde dann die Funktion geben:
Das ist wirklich irritierend.
quelle
/*
Kommentare im Stil.Mehrzeilige Kommentare mit IDLE für:
Mac OS X kommentiert nach der Codeauswahl einen Codeblock mit Ctrl+ 3und kommentiert ihn mit Ctrl+ aus 4.
Windows kommentiert nach der Codeauswahl einen Codeblock mit Ctrl+ Alt+ 3und kommentiert mit Ctrl+ At+ aus 4.
quelle
Ich erinnere mich, dass ich über einen Mann gelesen habe, der seine mehrzeiligen Kommentare in eine dreifach zitierte Variable geschrieben hat:
Dies nimmt zwar etwas Speicherplatz in Anspruch, bietet Ihnen jedoch mehrzeilige Kommentarfunktion und die meisten Editoren heben die Syntax für Sie hervor :)
Es ist auch einfach, Code durch einfaches Umschließen zu kommentieren
und
quelle
x =
und es nimmt keinen Speicher in Anspruch.