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 ausprobiert, aber es wird ein Fehler ausgegeben, daher ist dies wahrscheinlich nicht der richtige Weg. Hat Python tatsächlich eine mehrzeilige Kommentarfunktion?
Sie können Strings mit drei Anführungszeichen verwenden. Wenn es sich nicht um einen Dokumentstring (erstes in einer Klasse/Funktion/Modul) handelt, werden sie ignoriert.
'''
This is a multiline
comment.
'''
(Stellen Sie sicher, dass Sie den führenden '''
entsprechend einrücken, um eine IndentationError
zu vermeiden.)
Guido van Rossum (Schöpfer von Python) hat dies getwittert als "Pro-Tipp".
Der Python-Styleguide PEP8, bevorzugt mit aufeinander folgenden einzeiligen Kommentaren , und dies ist auch in vielen Projekten zu finden. Editoren haben in der Regel eine Verknüpfung, um dies einfach zu tun.
Python hat eine mehrzeilige Zeichenfolge/Kommentarsyntax in dem Sinne, dass mehrzeilige Zeichenfolgen keinen Bytecode - erzeugen, wenn er nicht als Docstrings verwendet wird, wie #
- vorangestellte Kommentare. In der Tat verhält es sich genau wie ein Kommentar.
Wenn Sie dagegen sagen, dass dieses Verhalten in den offiziellendocs dokumentiert werden muss, damit es sich um eine echte Kommentarsyntax handelt, können Sie sagen, dass es nicht als Als Teil der Sprachspezifikation garantiert ist.
In jedem Fall sollte Ihr Editor auch in der Lage sein, eine ausgewählte -Region leicht auskommentieren zu können (indem Sie vor jeder Zeile einen #
setzen). Wenn nicht, wechseln Sie zu __. einem Editor, der dies tut.
Die Programmierung in Python ohne bestimmte Textbearbeitungsfunktionen kann eine schmerzhafte Erfahrung sein. Das Finden des richtigen Editors (und das Wissen, wie er verwendet wird) kann einen großen Unterschied in der Wahrnehmung der Python-Programmiererfahrung bewirken.
Der Editor sollte nicht nur ausgewählte Regionen auskommentieren können, er sollte auch in der Lage sein, Codeblöcke leicht nach links und rechts zu verschieben, und er sollte den Cursor automatisch auf die aktuelle Einrückungsebene setzen Drücken Sie Enter. Code-Faltung kann auch nützlich sein.
Zum Schutz vor Link-Zerfall ist hier der Inhalt von Guido van Rossums Tweet :
@BSUCSClub Python-Tipp: Sie können mehrzeilige Zeichenfolgen als mehrzeilige Kommentare verwenden. Wenn sie nicht als Docstrings verwendet werden, generieren sie keinen Code! :-)
In Python 2.7 lautet der mehrzeilige Kommentar:
"""
This is a
multilline comment
"""
Wenn Sie sich in einer Klasse befinden, sollten Sie sie richtig markieren.
Zum Beispiel:
class weather2():
"""
def getStatus_code(self, url):
world.url = url
result = requests.get(url)
return result.status_code
"""
Ich hoffe, es hilft!
Aus der akzeptierten Antwort ...
Sie können Strings mit drei Anführungszeichen verwenden. Wenn es sich nicht um einen Dokumentstring (erstes in einer Klasse/Funktion/Modul) handelt, werden sie ignoriert.
Das stimmt einfach nicht. Im Gegensatz zu Kommentaren werden Zeichenfolgen mit drei Anführungszeichen immer noch analysiert und müssen syntaktisch gültig sein.
Wenn Sie versuchen, diesen Code auszuführen ...
def parse_token(token):
"""
This function parses a token.
TODO: write a decent docstring :-)
"""
if token == '\\and':
do_something()
Elif token == '\\or':
do_something_else()
Elif token == '\\xor':
'''
Note that we still need to provide support for the deprecated
token \xor. Hopefully we can drop support in libfoo 2.0.
'''
do_a_different_thing()
else:
raise ValueError
Sie bekommen entweder ...
ValueError: invalid \x escape
... auf Python 2.x oder ...
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 79-80: truncated \xXX escape
... auf Python 3.x.
Die einzige Möglichkeit, mehrzeilige Kommentare zu erstellen, die vom Parser ignoriert werden, ist ...
Elif token == '\\xor':
# Note that we still need to provide support for the deprecated
# token \xor. Hopefully we can drop support in libfoo 2.0.
do_a_different_thing()
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.
Ich denke nicht, außer dass eine mehrzeilige Zeichenfolge nicht verarbeitet wird. Die meisten, wenn nicht alle Python-IDEs haben jedoch eine Kurzwahltaste, um mehrere Codezeilen auszukommentieren.
Wenn Sie einen Kommentar einfügen
"""
long comment here
"""
in der Mitte eines Skripts erkennen Python/Linters das nicht wieder. Das Falten wird durcheinander gebracht, da der obige Kommentar nicht Teil der Standardempfehlungen ist. Es ist besser zu benutzen
# long comment
# here.
Wenn Sie vim
verwenden, können Sie Plugins wie https://github.com/tpope/vim-commentary verwenden, um lange Kommentarzeilen durch Drücken von Vjgcc
automatisch auszukommentieren. Dabei Vj
wählt zwei Codezeilen aus und gcc
kommentiert sie aus.
Wenn Sie keine Plugins wie oben verwenden möchten, können Sie Suchen und Ersetzen wie verwenden
:.,.+1s/^/# /g
.
Dadurch wird das erste Zeichen in der aktuellen und der nächsten Zeile durch #
ersetzt.
Zu Python 2.7.13:
Single:
"A sample single line comment "
Multiline:
"""
A sample
multiline comment
on PyCharm
"""
Leider kann die Stringifizierung nicht immer als auskommentiert werden! Daher ist es sicherer, sich an den Standard zu halten, der jede Zeile mit einem # voranstellt.
Hier ist ein Beispiel:
test1 = [1, 2, 3, 4,] # test1 enthält 4 ganze Zahlen
test2 = [1, 2, '' '3, 4,' ''] # test2 enthält 2 ganze Zahlen und die Zeichenfolge '3, 4,'
Nun, Sie können es versuchen (beim Ausführen des Zitats sollte die Eingabe der ersten Frage mit '
zitiert werden)
"""
print("What's your name? ")
myName = input()
print("It's Nice to meet you " + myName)
print("Number of characters is ")
print(len(myName))
age = input("What's your age? ")
print("You will be " + str(int(age)+1) + " next year.")
"""
a = input()
print(a)
print(a*5)
Was auch immer zwischen """
eingeschlossen ist, wird kommentiert.
Wenn Sie nach einzeiligen Kommentaren suchen, ist es #
.
Wie kommentiere ich:
'''
Comment what you want here
'''
oder
"""
Comment what you want here
"""
Der mehrzeilige Kommentar enthält keine solche Funktion. # ist die einzige Möglichkeit, eine einzelne Codezeile zu kommentieren . Viele von Ihnen antworteten auf einen Kommentar als Lösung. Es scheint zwar zu funktionieren, aber intern '' 'nimmt in Python die Zeilen als reguläre Zeichenfolgen an, die der Interpreter nicht wie Kommentar mit # ignoriert.
Ja, es ist in Ordnung, beide zu verwenden
'''
Comments
'''
und
"""
Comments
"""
Das Einzige, woran Sie sich beim Ausführen einer IDE erinnern müssen, ist jedoch, dass Sie die gesamte Datei 'RUN' (Ausführen), damit sie als Code für mehrere Zeilen akzeptiert wird. Zeile für Zeile 'RUN' funktioniert nicht richtig und zeigt einen Fehler an.
'' 'Mehrzeilige Kommentare wurden HIER gestartet
import tkinter as tk
root = tk.Tk()
w = tk.Label( text="Hello Tkinter")
logo = tk.PhotoImage(file="Python.PNG")
w1 = tk.Label(root, image=logo).pack(side="right")
explanation = """At Present, only GIF and PPM/PGM are supported but am
trying it with PNG. Interface does exit to allow image file to be added easily."""
w2 = tk.Label(root, justify=tk.LEFT,padx = 0, text=explanation).pack(side="left")
root.mainloop()
'' 'Mehrzeiliger Kommentar endet HIER ... bedeutet, der obige Code wird nicht ausgeführt und ist ein Kommentar
Wählen Sie die Zeilen aus, die Sie kommentieren möchten, und verwenden Sie dann "STRG +?". um den Python-Code im sublime Editor zu kommentieren oder zu kommentieren. Für eine Zeile können Sie 'shift + #' verwenden.
Die Inline-Kommentare in Python beginnen mit einem Hash-Hash-Zeichen.
hello = "Hello!" # this is inline comment
print(hello)
Hallo!
Beachten Sie, dass ein Hash-Zeichen in einem String-Literal nur ein Hash-Zeichen ist.
dial = "Dial #100 to make an emergency call."
print(dial)
Wählen Sie # 100, um einen Notruf zu tätigen.
Ein Hash-Zeichen kann auch für ein- oder mehrzeilige Kommentare verwendet werden.
hello = "Hello"
world = "World"
# first print hello
# and print world
print(hello)
print(world)
Hallo
Welt
Fügen Sie den Text in dreifache Anführungszeichen ein, um Docstring zu unterstützen.
def say_hello(name):
"""
This is docstring comment and
it's support multi line.
:param name it's your name
:type name str
"""
return "Hello " + name + '!'
print(say_hello("John"))
Hallo John!
Fügen Sie den Text mit dreifachen einfachen Anführungszeichen für Blockkommentare ein.
'''
I don't care the params and
docstrings here.
'''
Zum Auskommentieren mehrerer Codezeilen in Python wird einfach ein #
einzeiliger Kommentar in jeder Zeile verwendet:
# This is comment 1
# This is comment 2
# This is comment 3
Um "richtige" mehrzeilige Kommentare in Python zu schreiben, müssen mehrzeilige Zeichenfolgen mit der """
-Syntax Python verwendet werden. Es bietet Programmierern eine einfache Möglichkeit, mit jedem Python Modul, jeder Funktion, Klasse und Methode schnelle Notizen hinzuzufügen.
'''
This is
multiline
comment
'''
Erwähnen Sie auch, dass Sie mit einem Klassenobjekt wie diesem auf docstring zugreifen können
myobj.__doc__
VS Code universelle offizielle mehrzeilige Kommentarumschaltung.
macOS: Dann Code-Block auswählen ⌘+/
Windows: Wählen Sie dann Code-Block Ctrl+/
Verwenden von PyCharm IDE.
Sie können
comment
unduncomment
Codezeilen mit Strg + /. Strg + / Kommentaren oder Kommentieren der aktuellen Zeile oder mehrerer ausgewählter Zeilen mit einzeiligen Kommentaren aufheben.({# in Django templates, or # in Python scripts)
.Pressing Ctrl+Shift+/
für einen ausgewählten Quellcode-Block in einer Django-Vorlage umgibt den Block mit{% comment %} and {% endcomment %}
-Tags.
n = 5
while n > 0:
n -= 1
if n == 2:
break
print(n)
print("Loop ended.")
Wählen Sie alle Zeilen aus und drücken Sie Ctrl + /
# n = 5
# while n > 0:
# n -= 1
# if n == 2:
# break
# print(n)
# print("Loop ended.")
Ein mehrzeiliger Kommentar existiert in Python eigentlich nicht. Das folgende Beispiel besteht aus einer nicht zugewiesenen Zeichenfolge, die von Python auf syntaktische Fehler überprüft wird. Nur wenige Texteditoren wie NotePad++
bieten Verknüpfungen, um einen geschriebenen Code oder Wörter zu kommentieren
def foo():
"This is a doc string."
# A single line comment
"""
This
is a multiline
comment/String
"""
"""
print "This is a sample foo function"
print "This function has no arguments"
"""
return True
Ebenfalls, CTRL + K Eine Verknüpfung in Notepad++
zum Blockieren von Kommentaren. Vor jeder Zeile unter der Auswahl wird ein #
eingefügt. CTRL + SHIFT+ K ist für unkommentierte Blöcke.
Mehrzeiliger Kommentar in Python: Bei mir funktionierten sowohl '' 'als auch' ''
Ex:
a = 10
b = 20
c = a+b
'''
print ('hello')
'''
print ('Addition is : ',a+b)
Ex:
a = 10
b = 20
c = a+b
"""
print ('hello')
"""
print ('Addition is : ',a+b)