alternativ 2: Använda multi-line strängar som kommentarer
ett annat alternativ för att skriva ”korrekt” multi-line kommentarer i Python är att använda multi-line strängar med"""
syntax på kreativa sätt. Här är ett exempel:
"""This is a "block comment" in Python, madeout of a mult-line string constant.This actually works quite well!"""answer = 42
som du kan se kan du använda trippelnoterade strängar för att skapa något som liknar en multilinekommentar i Python., Du behöver bara se till att du skriver in den första """
korrekt, annars får du en SyntaxError
. Om du till exempel vill definiera en blockkommentar i en funktion med den här tekniken måste du göra det så här:
tänk bara på att den här tekniken inte skapar ”sanna” kommentarer. Detta infogar helt enkelt en textkonstant som inte gör någonting. Det är samma sak som att infoga en vanlig enkelradssträng någonstans i din kod och aldrig komma åt den.,
en sådan föräldralös strängkonstant kommer dock inte att dyka upp i bytekoden, vilket effektivt gör den till en flerradig kommentar. Här är ett bevis på att den oanvända strängen inte kommer att visas i CPython bytecode disassembly:
var försiktig med var du placerar dessa ”kommentarer” i koden., Om strängen följer direkt efter en funktionssignatur, en klassdefinition eller i början av en modul, blir den en docstring som helt och hållet har en annan betydelse i Python:
Docstrings (”documentation strings”) låter dig associera läsbar dokumentation med Python-moduler, funktioner, klasser och metoder. De skiljer sig från källkodskommentarer:
en kommentar tas bort av tolken, medan en docstring hamnar i bytekoden och är associerad med det dokumenterade objektet. Det kan även nås programmatiskt vid körning.,
som jag sa tidigare är det enda sättet att få ”true” multi-line kommentarer i Python som ignoreras av tolken att använda flera #
enkelradiga kommentarer.
Jag erkänner att jag blev lite förvånad över att hitta denna ”falska” blockkommentarer stil godkändes av Guido van Rossum, skaparen av Python: