Niedawno zacząłem studiować Python , ale nie mogłem znaleźć sposobu na wdrożenie komentarzy wieloliniowych. Większość języków ma symbole blokowego komentarza, takie jak
/*
*/
Próbowałem tego w Pythonie, ale generuje błąd, więc prawdopodobnie nie jest to właściwy sposób. Czy Python faktycznie posiada funkcję komentowania wielowierszowego?
python
comments
documentation
Dungeon Hunter
źródło
źródło
#
to jedyny sposób na komentowanie. Zgaduję, że dzięki temu łatwiej interpretować skrypty Pythona.Odpowiedzi:
Możesz użyć potrójnych cudzysłowów. Gdy nie są one dokumentacją (pierwszą rzeczą w klasie / funkcji / module), są ignorowane.
(Upewnij się, że odpowiednio wcinasz wiodące,
'''
aby uniknąćIndentationError
.)Guido van Rossum (twórca Pythona) napisał na Twitterze jako „pro tip”.
Jednak przewodnik po stylu Pythona, PEP8, preferuje stosowanie kolejnych jednowierszowych komentarzy , i to również znajduje się w wielu projektach. Edytory tekstu zwykle mają do tego skrót.
źródło
test.py
aby go zobaczyć. Kiedy to zrobięimport test
,test.pyc
plik zostanie wygenerowany. Niestetypyc
plik jest ogromny i zawiera cały ciąg w postaci zwykłego tekstu. Czy coś nie rozumiem, czy ten tweet jest niepoprawny?pyc
. Zredagowałem odpowiedź i umieściłem „moduł” na liście rzeczy, które zawierają dokumenty."""
do dokumentów i'''
blokowania komentarzy. W ten sposób możesz'''
ominąć swoje zwykłe dokumenty bez konfliktów.#
linii do odróżniają akapitów .Python ma wielowierszową składnię ciąg / komentarz w tym sensie, że jeśli nie zostanie użyty jako ciąg znaków , ciągi wielowierszowe nie generują kodu bajtowego - podobnie jak
#
wcześniejsze komentarze. W efekcie działa dokładnie jak komentarz.Z drugiej strony, jeśli powiesz, że takie zachowanie musi być udokumentowane w oficjalnej dokumentacji, aby było prawdziwą składnią komentarza, to tak, słusznie powiesz, że nie jest to gwarantowane jako część specyfikacji języka.
W każdym razie edytor tekstu powinien mieć również możliwość łatwego komentowania wybranego regionu (umieszczając
#
przed każdym wierszem osobno). Jeśli nie, przejdź do edytora tekstu, który to robi.Programowanie w Pythonie bez pewnych funkcji edycji tekstu może być bolesnym doświadczeniem. Znalezienie odpowiedniego edytora (i umiejętność jego używania) może mieć duży wpływ na postrzeganie doświadczenia w programowaniu w języku Python.
Edytor tekstowy powinien nie tylko móc komentować wybrane regiony, ale powinien także móc łatwo przesuwać bloki kodu w lewo i prawo, a także automatycznie ustawiać kursor na bieżącym poziomie wcięcia po naciśnięciu Enter. Przydatne może być również składanie kodu.
Aby zabezpieczyć się przed rozpadem linków, oto treść tweeta Guido van Rossuma :
źródło
Z zaakceptowanej odpowiedzi ...
To po prostu nieprawda. W przeciwieństwie do komentarzy, ciągi potrójne są nadal analizowane i muszą być poprawne pod względem składniowym, niezależnie od tego, gdzie występują w kodzie źródłowym.
Jeśli spróbujesz uruchomić ten kod ...
Dostaniesz albo ...
... na Python 2.x lub ...
... w Pythonie 3.x.
Jedynym sposobem na komentarze wieloliniowe, które są ignorowane przez analizator składni, jest ...
źródło
r'raw string'
-r'\xor' == '\\xor'
.*/
ponieważ spowoduje to na przykład blok.'''
„komentarze” mają więcej ograniczeń. Możesz komentować tylko całe wypowiedzi, podczas gdy komentarze mogą komentować części wyrażenia. Przykład: C, można skomentować pewne elementy listy:int a[] = {1, 2, /* 3, 4, */ 5};
. W przypadku ciągu wieloliniowego nie można tego zrobić, ponieważ spowoduje to umieszczenie ciągu na liście.W Pythonie 2.7 komentarzem wielowierszowym jest:
Jeśli jesteś w klasie, powinieneś ją odpowiednio tabulować.
Na przykład:
źródło
weather2
komentarz jest tak naprawdę dokumentem, ponieważ jest to pierwsza rzecz w klasie.AFAIK, Python nie ma blokowanych komentarzy. Aby komentować poszczególne linie, możesz użyć
#
znaku.Jeśli używasz Notepad ++ , istnieje skrót do komentowania bloków . Jestem pewien, że inni, tacy jak gVim i Emacs, mają podobne funkcje.
źródło
Myślę, że tak nie jest, z wyjątkiem tego, że łańcuch wielowierszowy nie jest przetwarzany. Jednak większość, jeśli nie wszystkie środowiska IDE Pythona, mają skrót do komentowania wielu linii kodu.
źródło
Jeśli dodasz komentarz
w środku skryptu Python / linters tego nie rozpoznają. Składanie zostanie pomieszane, ponieważ powyższy komentarz nie jest częścią standardowych zaleceń. Lepiej jest użyć
Jeśli używasz Vima , możesz używać wtyczek takich jak commentary.vim , aby automatycznie komentować długie linie komentarzy, naciskając
Vjgcc
. GdzieVj
wybiera dwa wiersze kodu igcc
komentuje je.Jeśli nie chcesz używać wtyczek takich jak powyżej, możesz użyć wyszukiwania i zastąpić podobne
Zastąpi to pierwszy znak w bieżącym i następnym wierszu
#
.źródło
Nie ma takiej funkcji jak komentarz wieloliniowy.
#
jest jedynym sposobem skomentowania pojedynczej linii kodu. Wielu z was odpowiedziało na ten komentarz jako swoje rozwiązanie.Wygląda na to, że działa, ale wewnętrznie
'''
w Pythonie przyjmuje wiersze ujęte w regularne ciągi znaków, których interpreter nie ignoruje przy użyciu komentarzy#
.Sprawdź oficjalną dokumentację tutaj
źródło
Niestety, nie zawsze można użyć skreślenia jako komentarza! Dlatego bezpieczniej jest trzymać się standardu, poprzedzając każdą linię znakiem
#
.Oto przykład:
źródło
Cóż, możesz wypróbować to (podczas uruchamiania cytowanego wejścia do pierwszego pytania należy zacytować
'
):Cokolwiek
"""
będzie zawarte, zostanie skomentowane.Jeśli szukasz komentarzy jednowierszowych, to jest
#
.źródło
Komentarz wieloliniowy w Pythonie:
U mnie zarówno „” ”, jak i„ ”„ działały.
Przykład:
Przykład:
źródło
Komentarze wbudowane w Pythonie zaczynają się od znaku skrótu.
Zauważ, że znak skrótu w dosłownym ciągu jest po prostu znakiem skrótu.
Znak skrótu może być również użyty do komentarza w jednym lub w wielu wierszach.
Dołącz tekst potrójnymi podwójnymi cudzysłowami w celu obsługi dokumentów.
Dołącz tekst potrójnymi pojedynczymi cudzysłowami do komentarzy blokowych.
źródło
W Pythonie 2.7.13:
Pojedynczy:
Multiline:
źródło
Uniwersalny oficjalny wieloliniowy przełącznik komentarzy Visual Studio Code .
macOS: wybierz blok kodu, a następnie ⌘+/
Windows: wybierz blok kodu, a następnie Ctrl+/
źródło
Tak, można używać obu:
i
Ale jedyną rzeczą, o której wszyscy musicie pamiętać podczas pracy w środowisku IDE, jest „URUCHOMIENIE” całego pliku, aby zaakceptować go jako kody wielu linii. Linia po linii „RUN” nie będzie działać poprawnie i wyświetli błąd.
źródło
Aby skomentować wiele wierszy kodu w Pythonie, wystarczy użyć
#
komentarza jednowierszowego w każdym wierszu:Do pisania „poprawnych” komentarzy wieloliniowych w Pythonie należy używać ciągów wieloliniowych ze
"""
składnią Python ma funkcję ciągów dokumentacji (lub ciągów dokumentów). Daje to programistom łatwy sposób dodawania szybkich notatek do każdego modułu, funkcji, klasy i metody Pythona.Wspomnij również, że możesz uzyskać dostęp do dokumentów przez obiekt klasy taki jak ten
źródło
Możesz użyć następujących. Nazywa się to DockString.
źródło
Odradzam używanie
"""
komentarzy wieloliniowych!Oto prosty przykład podkreślający to, co można uznać za nieoczekiwane zachowanie:
Teraz spójrz na wynik:
Ciąg wielowierszowy nie był traktowany jako komentarz, ale został połączony z
'clearly I'm also a string'
jednym ciągiem.Jeśli chcesz skomentować wiele wierszy, zrób to zgodnie z wytycznymi PEP 8 :
Wynik:
źródło
lang-bash
” zamiast „bash
” dla podświetlania składni? W każdym razie zazwyczaj wygląda to dziwnie (np. Dla „niektórych” tutaj) - nawet jeśli w rzeczywistości są to polecenia wiersza polecenia z parametrami.lang-none
(podświetlanie składni wyłączone) może być lepszym wyborem.Korzystanie z PyCharm IDE.
Wybierz wszystkie linie, a następnie naciśnij Ctrl + /
źródło
Komentarz wielowierszowy w rzeczywistości nie istnieje w Pythonie. Poniższy przykład składa się z nieprzypisanego ciągu, który jest sprawdzany przez Python pod kątem błędów składniowych.
Kilka edytorów tekstu, takich jak Notepad ++ , udostępnia skróty do komentowania napisanego fragmentu kodu lub słów.
Ponadto Ctrl+ Kjest skrótem w Notepad ++ do blokowania komentarzy. Dodaje
#
przed każdą linię pod zaznaczeniem. Ctrl+ Shift+ Koznacza blokowanie komentarzy.źródło
Wśród innych odpowiedzi uważam, że najprostszym sposobem jest użycie funkcji komentowania IDE, które korzystają z obsługi komentarzy Pythona
#
.Używam Anaconda Spyder i ma:
Skomentuje / odkomentuje pojedynczy / wieloliniowy kod / -y kodu
#
.Uważam to za najłatwiejsze.
Na przykład komentarz blokowy:
źródło
Wybierz linie, które chcesz skomentować, a następnie użyj Ctrl+, ?aby skomentować lub odkomentować kod Pythona w edytorze Sublime Text .
W przypadku pojedynczej linii możesz użyć Shift+ #.
źródło