Ich habe vor kurzem angefangen, Python zu studieren , konnte aber keine mehrzeiligen Kommentare implementieren. Die meisten Sprachen haben Blockkommentarsymbole wie
/*
*/
Ich habe dies in Python versucht, aber es wird ein Fehler ausgegeben, daher ist dies wahrscheinlich nicht der richtige Weg. Hat Python tatsächlich eine mehrzeilige Kommentarfunktion?
python
comments
documentation
Dungeon Hunter
quelle
quelle
#
nur so Kommentare abzugeben. Ich vermute, dass es einfacher ist, Python-Skripte auf diese Weise zu interpretieren.Antworten:
Sie können Zeichenfolgen in dreifachen Anführungszeichen verwenden. Wenn sie keine Dokumentzeichenfolge sind (das erste in einer Klasse / Funktion / einem Modul), werden sie ignoriert.
(Stellen Sie sicher, dass die Führung
'''
entsprechend eingerückt ist , um eineIndentationError
.)Guido van Rossum (Schöpfer von Python) hat dies als "Pro-Tipp" getwittert .
Der Python-Styleguide PEP8 bevorzugt jedoch die Verwendung aufeinanderfolgender einzeiliger Kommentare , und dies finden Sie auch in vielen Projekten. Texteditoren haben normalerweise eine Verknüpfung, um dies einfach zu tun.
quelle
test.py
eingefügt, um sie zu sehen. Wenn ich das tueimport test
, wird einetest.pyc
Datei generiert. Leider ist diepyc
Datei sehr groß und enthält die gesamte Zeichenfolge als einfachen Text. Verstehe ich etwas falsch oder ist dieser Tweet falsch?pyc
. Ich habe die Antwort bearbeitet und „Modul“ in die Liste der Dinge mit Dokumentzeichenfolgen eingefügt."""
für Docstrings und'''
für Blockkommentare zu verwenden . Auf diese Weise können Sie'''
Ihre üblichen Dokumentstrings ohne Konflikte umwickeln .#
Linien Absätzen zu unterscheiden .Python verfügt über eine mehrzeilige Zeichenfolgen- / Kommentarsyntax in dem Sinne, dass mehrzeilige Zeichenfolgen , sofern sie nicht als Dokumentzeichenfolgen verwendet werden, keinen Bytecode generieren - genau wie
#
vorangestellte Kommentare. Tatsächlich verhält es sich genau wie ein Kommentar.Wenn Sie andererseits sagen, dass dieses Verhalten in der offiziellen Dokumentation dokumentiert werden muss, um eine echte Kommentarsyntax zu sein, dann können Sie zu Recht sagen, dass es als Teil der Sprachspezifikation nicht garantiert ist.
In jedem Fall sollte Ihr Texteditor auch in der Lage sein, einen ausgewählten Bereich einfach auskommentieren zu können (indem Sie
#
vor jeder Zeile ein einzelnes platzieren). Wenn nicht, wechseln Sie zu einem Texteditor, der dies tut.Das Programmieren in Python ohne bestimmte Textbearbeitungsfunktionen kann eine schmerzhafte Erfahrung sein. Das Finden des richtigen Editors (und das Wissen, wie man ihn verwendet) kann einen großen Unterschied in der Wahrnehmung der Python-Programmiererfahrung bewirken.
Der Texteditor sollte nicht nur ausgewählte Bereiche auskommentieren können, sondern auch Codeblöcke leicht nach links und rechts verschieben können, und er sollte den Cursor beim Drücken automatisch auf die aktuelle Einrückungsstufe setzen Enter. Das Falten von Code kann ebenfalls nützlich sein.
Zum Schutz vor dem Verfall von Links ist hier der Inhalt von Guido van Rossums Tweet :
quelle
Aus der akzeptierten Antwort ...
Das ist einfach nicht wahr. Im Gegensatz zu Kommentaren werden Zeichenfolgen in dreifachen Anführungszeichen weiterhin analysiert und müssen syntaktisch gültig sein, unabhängig davon, wo sie im Quellcode erscheinen.
Wenn Sie versuchen, diesen Code auszuführen ...
Sie werden entweder ...
... auf Python 2.x oder ...
... auf Python 3.x.
Die einzige Möglichkeit, mehrzeilige Kommentare zu erstellen, die vom Parser ignoriert werden, ist ...
quelle
r'raw string'
- verwendenr'\xor' == '\\xor'
.*/
da dies beispielsweise den Block beendet.'''
"Kommentare" haben mehr Einschränkungen. Sie können nur ganze Aussagen auskommentieren, während Kommentare Teile des Ausdrucks auskommentieren können. Beispiel: In C können Sie einige Listenelemente auskommentieren :int a[] = {1, 2, /* 3, 4, */ 5};
. Mit einer mehrzeiligen Zeichenfolge können Sie dies nicht tun, da dies eine Zeichenfolge in Ihre Liste aufnehmen würde.In Python 2.7 lautet der mehrzeilige Kommentar:
Wenn Sie sich in einer Klasse befinden, sollten Sie sie ordnungsgemäß tabulieren.
Zum Beispiel:
quelle
weather2
Kommentar ist eigentlich eine Dokumentzeichenfolge, da es das erste in der Klasse ist.AFAIK, Python hat keine Blockkommentare. Zum Kommentieren einzelner Zeilen können Sie das
#
Zeichen verwenden.Wenn Sie Notepad ++ verwenden , gibt es eine Verknüpfung zum Blockkommentieren . Ich bin sicher, dass andere wie gVim und Emacs ähnliche Funktionen haben.
quelle
Ich denke nicht, außer dass eine mehrzeilige Zeichenfolge nicht verarbeitet wird. Die meisten, wenn nicht alle Python-IDEs verfügen jedoch über eine Tastenkombination zum Auskommentieren mehrerer Codezeilen.
quelle
Wenn Sie einen Kommentar eingeben
In der Mitte eines Skripts erkennen Python / Linters das nicht. Das Zusammenklappen wird durcheinander gebracht, da der obige Kommentar nicht Teil der Standardempfehlungen ist. Es ist besser zu benutzen
Wenn Sie Vim verwenden , können Sie Plugins wie comment.vim verwenden , um lange Kommentarzeilen automatisch durch Drücken von zu kommentieren
Vjgcc
. WoVj
wählt zwei Codezeilen, undgcc
Kommentare sie aus.Wenn Sie keine Plugins wie die oben genannten verwenden möchten, können Sie Suchen und Ersetzen wie verwenden
Dies ersetzt das erste Zeichen in der aktuellen und nächsten Zeile durch
#
.quelle
Es gibt keine Funktion wie einen mehrzeiligen Kommentar.
#
ist die einzige Möglichkeit, eine einzelne Codezeile zu kommentieren. Viele von Ihnen antworteten auf einen Kommentar als Lösung.Es scheint zu funktionieren, aber intern
'''
in Python werden die Zeilen als reguläre Zeichenfolgen eingeschlossen, die der Interpreter nicht ignoriert, wie Kommentare mit#
.Überprüfen Sie die offizielle Dokumentation hier
quelle
Leider kann die Stringifizierung nicht immer als Kommentar verwendet werden! Es ist also sicherer, sich an den Standard zu halten, bei dem jeder Zeile ein vorangestellt wird
#
.Hier ist ein Beispiel:
quelle
Nun, Sie können dies versuchen (wenn Sie das Zitat ausführen, sollte die Eingabe für die erste Frage mit zitiert werden
'
):Was auch immer dazwischen eingeschlossen ist,
"""
wird kommentiert.Wenn Sie nach einzeiligen Kommentaren suchen, dann ist es
#
.quelle
Mehrzeiliger Kommentar in Python:
Bei mir haben sowohl '' 'als auch "" funktioniert.
Beispiel:
Beispiel:
quelle
Die Inline-Kommentare in Python beginnen mit einem Hash-Zeichen.
Beachten Sie, dass ein Hash-Zeichen in einem String-Literal nur ein Hash-Zeichen ist.
Ein Hash-Zeichen kann auch für ein- oder mehrzeilige Kommentare verwendet werden.
Schließen Sie den Text in dreifache doppelte Anführungszeichen ein, um die Dokumentzeichenfolge zu unterstützen.
Schließen Sie den Text in dreifache einfache Anführungszeichen für Blockkommentare ein.
quelle
Unter Python 2.7.13:
Single:
Mehrzeilig:
quelle
Visual Studio Code universeller offizieller mehrzeiliger Kommentarumschalter.
macOS: Wählen Sie Codeblock und dann ⌘+/
Windows: Wählen Sie Codeblock und dann Ctrl+/
quelle
Ja, es ist in Ordnung, beide zu verwenden:
und
Das einzige, woran Sie sich alle erinnern müssen, wenn Sie in einer IDE ausgeführt werden, ist, dass Sie die gesamte Datei "LAUFEN" müssen, um als Mehrzeilencode akzeptiert zu werden. Zeile für Zeile 'RUN' funktioniert nicht richtig und zeigt einen Fehler an.
quelle
Zum Auskommentieren mehrerer Codezeilen in Python verwenden Sie einfach einen
#
einzeiligen Kommentar in jeder Zeile:Um „richtige“ mehrzeilige Kommentare in Python zu schreiben, müssen mehrzeilige Zeichenfolgen mit der
"""
Syntax verwendet werden. Python verfügt über die Funktion für Dokumentationszeichenfolgen (oder Dokumentzeichenfolgen). Es bietet Programmierern eine einfache Möglichkeit, mit jedem Python-Modul, jeder Funktion, Klasse und Methode schnelle Notizen hinzuzufügen.Erwähnen Sie außerdem, dass Sie über ein Klassenobjekt wie dieses auf docstring zugreifen können
quelle
Sie können Folgendes verwenden. Dies wird als DockString bezeichnet.
quelle
Ich würde davon abraten,
"""
mehrzeilige Kommentare zu verwenden!Hier ist ein einfaches Beispiel, um hervorzuheben, was als unerwartetes Verhalten angesehen werden kann:
Schauen Sie sich jetzt die Ausgabe an:
Die mehrzeilige Zeichenfolge wurde nicht als Kommentar behandelt, sondern mit
'clearly I'm also a string'
einer einzelnen Zeichenfolge verknüpft.Wenn Sie mehrere Zeilen kommentieren möchten, tun Sie dies gemäß den PEP 8- Richtlinien :
Ausgabe:
quelle
lang-bash
" statt "bash
" für die Syntaxhervorhebung sein? In jedem Fall sieht es normalerweise komisch aus (z. B. für "Einige" hier) - auch wenn es sich tatsächlich um Befehlszeilenbefehle mit Parametern handelt.lang-none
(Syntaxhervorhebung deaktiviert) ist möglicherweise die bessere Wahl.Verwenden der PyCharm-IDE.
Wählen Sie alle Zeilen aus und drücken Sie Ctrl + /
quelle
Ein mehrzeiliger Kommentar ist in Python nicht vorhanden. Das folgende Beispiel besteht aus einer nicht zugewiesenen Zeichenfolge, die von Python auf syntaktische Fehler überprüft wird.
Einige Texteditoren wie Notepad ++ bieten Verknüpfungen zum Auskommentieren eines geschriebenen Codes oder von Wörtern.
Außerdem ist Ctrl+ Keine Verknüpfung in Notepad ++, um Kommentare zu blockieren. Es wird
#
vor jeder Zeile unter der Auswahl ein eingefügt. Ctrl+ Shift+ KIst für Block uncomment.quelle
Unter anderem finde ich es am einfachsten, die IDE-Kommentarfunktionen zu verwenden, die die Python-Kommentarunterstützung von verwenden
#
.Ich benutze Anaconda Spyder und es hat:
Es würde eine / mehrere Codezeilen mit / kommentieren / auskommentieren
#
.Ich finde es am einfachsten.
Zum Beispiel ein Blockkommentar:
quelle
Wählen Sie die Zeilen aus, die Sie kommentieren möchten, und kommentieren oder kommentieren Sie den Python-Code im Sublime Text- Editor mit Ctrl+ .?
Für eine einzelne Zeile können Sie Shift+ verwenden #.
quelle