Come commentare un blocco di codice in Python [duplicato]
Domanda
Questa domanda ha già una risposta qui:
- Perché non Python ha commenti su più righe? 17 risposte
Esiste un meccanismo per commentare grandi blocchi di codice Python?
In questo momento, gli unici modi che posso vedere di commentare fuori il codice sono a uno iniziare ogni riga con un #
, o per racchiudere il codice tra virgolette triple:. """
Il problema di queste è che l'inserimento di <=> prima di ogni linea è ingombrante e <=> rende la stringa che voglio usare come commento Mostra nella documentazione generata.
Dopo aver letto tutti i commenti, la risposta sembra essere "No".
Soluzione
Python non ha un tale meccanismo. Anteporre un #
per ogni linea per bloccare commento. Per ulteriori informazioni, vedere PEP 8 . La maggior parte degli IDE Python supportano un meccanismo per fare automaticamente i segni libbra-block-commentando-con-per voi. Per esempio, in IDLE sulla mia macchina, è Alt + 3 e Alt + 4 .
Non utilizzare le triple virgolette; come hai scoperto, questo è per le stringhe di documentazione non bloccare i commenti, anche se ha un effetto simile. Se sei solo commentando le cose temporaneamente, questo va bene come misura temporanea.
Altri suggerimenti
L'unica cura che conosco per questo è un buon editor. Scusate.
Nascondere le triple virgolette in un contesto che non sarà scambiato per un docstring, ad esempio:
'''
...statements...
''' and None
o
if False: '''
...statements...
'''
L'unico modo è possibile farlo senza virgolette triple è quello di aggiungere un:
if False:
E poi Rientro tutto il codice. Si noti che il codice sarà ancora bisogno di avere sintassi corretta.
Molti IDE Python possono aggiungere #
per voi su ogni linea selezionata, e li rimuove quando non-commentando troppo. Allo stesso modo, se si utilizza vi o Emacs è possibile creare una macro per fare questo per voi per un blocco di codice.
M-x commento-regione, in 'modalità Python Emacs .
In JetBrains PyCharm su Mac usano Comando + / per commentare / decommentare blocco di codice selezionato. Su Windows, utilizzare CTRL + / .
Almeno in VIM è possibile selezionare la prima colonna di testo che si desidera inserire utilizzando la modalità visiva Block (CTRL+V
in non-finestre VIM) e poi anteporre un #
prima di ogni riga utilizzando questa sequenza:
I#<esc>
Nel modo illustrato Block I
passa alla modalità di inserimento con il cursore prima del blocco sulla sua prima linea. Il testo inserito viene copiato prima ogni riga nel blocco.
VI :
- Vai superiore del blocco e segnare con la lettera a.
- Vai alla fine del blocco e segnare con la lettera b
Quindi fare
:'a,'b s!^!#!
comm='''
Junk, or working code
that I need to comment.
'''
È possibile sostituire comm
da una variabile di vostra scelta che forse è più breve, facile toccare-tipo, e si sa non (e non vuole) si verificano nei vostri programmi. Esempi:. xxx
, oo
, null
, nil
Sì, c'è (a seconda del vostro editor). In pydev (e in Aptana Studio con pydev):
-
Ctrl + 4 - commenta blocco selezionato
-
Ctrl + 5 - rimuovere il commento blocco selezionato
In Visual Studio utilizzando gli strumenti Python per Visual Studio , blocchi possono essere commentate da Ctrl + K , Ctrl + C e commentate da Ctrl + K , Ctrl + U .
Notepad ++ su una macchina Windows, selezionare il codice, tipo CTRL-K
. Per rimuovere il commento si seleziona il codice e premere Ctrl + Maiusc + K .
Per inciso, Notepad ++ funziona bene come un editor di Python. Con il completamento automatico, raggruppamento del codice, evidenziazione della sintassi, e molto altro ancora. Ed è libero come nel discorso e come la birra!
L'unico meccanismo per commentare codice Python (intesa come codice ignorato dall'interprete) è il # .
Come dici tu, è anche possibile utilizzare stringhe letterali , che non sono ignorati dall'interprete, ma può essere del tutto irrilevante per l'esecuzione del programma.
Le triple virgolette sono OK per me. È possibile utilizzare '' 'foo ''' per docstrings e '' "bar ''" per i commenti o viceversa per rendere il codice più leggibile.
Un'altra soluzione editore-based: testo "rettangoli" in Emacs.
Evidenziare il codice che si desidera commentare, allora C-x-r-t #
Per annullare commentare il codice: evidenziare, allora C-x-r-k
Io uso questo tutto il giorno, ogni giorno. (Assegnato a hot-keys, naturalmente.)
Questa e potente di ricerca regex / sostituzione è il motivo per tollero altri "eccentricità" di Emacs.
L'Eric4 c'è un modo semplice: selezionare un blocco, di tipo Ctrl + M per commentare l'intero blocco o Ctrl + alt + M per rimuovere il commento.
Con un bel editor come SciTE , selezionare il proprio codice, premere Ctrl + Q e fatto.
Se non si dispone di un editor che supporta i commenti dei blocchi è possibile utilizzare una stringa tripla citato all'inizio e alla fine del blocco di codice a 'efficace' come commento. Non è la migliore pratica però.