Opcja 2: Używanie ciągów wielowierszowych jako komentarzy
inną opcją pisania „właściwych” komentarzy wielowierszowych w Pythonie jest używanie ciągów wielowierszowych ze składnią """
w kreatywny sposób. Oto przykład:
"""This is a "block comment" in Python, madeout of a mult-line string constant.This actually works quite well!"""answer = 42
jak widzisz, możesz użyć potrójnie cytowanych łańcuchów, aby utworzyć coś, co przypomina komentarz wielowierszowy w Pythonie., Musisz tylko upewnić się, że pierwszy """
poprawnie, w przeciwnym razie otrzymasz SyntaxError
. Na przykład, jeśli chcesz zdefiniować komentarz blokowy wewnątrz funkcji za pomocą tej techniki, musisz to zrobić w następujący sposób:
pamiętaj, że ta technika nie tworzy „prawdziwych” komentarzy. To po prostu wstawia stałą tekstową, która nic nie robi. Jest to to samo, co wstawianie zwykłego ciągu jednoliniowego gdzieś w kodzie i nigdy nie uzyskiwanie do niego dostępu.,
jednak taka osierocona stała łańcuchowa nie pojawi się w kodzie bajtowym, skutecznie zamieniając ją w komentarz wielowierszowy. Oto dowód, że nieużywany ciąg znaków nie pojawi się w demontażu kodu bajtowego CPython:
należy jednak uważać, gdzie umieszcza się te” komentarze ” w kodzie., Jeśli ciąg znaków następuje zaraz po podpisie funkcji, definicji klasy lub na początku modułu, zmienia się w docstring, który ma zupełnie inne znaczenie w Pythonie:
Docstrings („ciągi dokumentacji”) pozwalają kojarzyć dokumentację czytelną dla człowieka z modułami, funkcjami, klasami i metodami Pythona. Różnią się one od komentarzy do kodu źródłowego:
komentarz jest usuwany przez parser, podczas gdy docstring kończy się w kodzie bajtowym i jest powiązany z udokumentowanym obiektem. Można nawet uzyskać do niego dostęp programowo w czasie wykonywania.,
tak jak powiedziałem wcześniej, jedynym sposobem na uzyskanie „prawdziwych” wielowierszowych komentarzy w Pythonie, które są ignorowane przez parser, jest użycie wielu#
pojedynczych komentarzy.
przyznam, że byłem nieco zaskoczony, że ten „fałszywy” styl komentowania bloków został zatwierdzony przez Guido van Rossuma, twórcę Pythona: