OK, je suis conscient que les chaînes de guillemets triples peuvent servir de commentaires multilignes. Par exemple,
"""Hello, I am a
multiline comment"""
et
'''Hello, I am a
multiline comment'''
Mais techniquement parlant, ce sont des chaînes, n'est-ce pas?
J'ai googlé et lu le guide de style Python, mais je n'ai pas pu trouver de réponse technique pour expliquer pourquoi il n'y a pas d'implémentation formelle de multiline, / * * / type de commentaires. Je n'ai aucun problème à utiliser des guillemets triples, mais je suis un peu curieux de savoir ce qui a conduit à cette décision de conception.
if False:
le codeRéponses:
Je doute que vous obtiendrez une meilleure réponse que, "Guido n'a pas ressenti le besoin de commentaires sur plusieurs lignes".
Guido a tweeté à ce sujet:
la source
if False:
avant le code qui doit être désactivé.if False
c'est mieux. Il accomplit exactement la même chose, tout en étant moins clair (car il n'est pas aussi évident à première vue que le bloc de code a été désactivé).Les commentaires sur plusieurs lignes sont facilement cassables. Et si vous disposez des éléments suivants dans un programme de calculatrice simple?
Essayez de commenter cela avec un commentaire sur plusieurs lignes:
Oups, votre chaîne contient le délimiteur de commentaire de fin.
la source
#:
et d'utiliser l'indentation pour montrer quand le commentaire est terminé. Il est propre, cohérent et gère parfaitement l'imbrication.Le texte entre guillemets triple ne doit PAS être considéré comme un commentaire sur plusieurs lignes; par convention, ce sont des docstrings . Ils devraient décrire ce que fait votre code et comment l'utiliser, mais pas pour des choses comme commenter des blocs de code.
Selon Guido, les commentaires multilignes en Python ne sont que des commentaires contigus sur une seule ligne (recherche de "commentaires de bloc").
Pour commenter des blocs de code, j'utilise parfois le modèle suivant:
la source
V}>>
Cela remonte probablement au concept de base selon lequel il devrait y avoir une façon évidente d'accomplir une tâche. Des styles de commentaires supplémentaires ajoutent des complications inutiles et pourraient réduire la lisibilité.
la source
#
.Eh bien, les guillemets triples sont utilisés comme commentaires multilignes dans les docstrings. Et # les commentaires sont utilisés comme commentaires en ligne et les gens s'y habituent.
La plupart des langages de script n'ont pas non plus de commentaires multilignes. C'est peut-être la cause?
Voir PEP 0008 , section Commentaires
Et voyez si votre éditeur Python propose un raccourci clavier pour commenter les blocs. Emacs le prend en charge, tout comme Eclipse, probablement la plupart des IDE décents.
la source
Du Zen de Python :
Il devrait y avoir une - et de préférence une seule - manière évidente de le faire.
la source
Personnellement, mon style de commentaire dit que Java est comme
Donc, avoir des commentaires sur une seule ligne n'est pas une si mauvaise chose si votre style est typique de l'exemple précédent, car en comparaison, vous auriez
VB.NET est également un langage avec des commentaires sur une seule ligne, et personnellement, je trouve cela ennuyeux car les commentaires finissent par ressembler moins à des commentaires J'aime et plus à une sorte de citation
Les commentaires sur une seule ligne finissent par avoir moins d’utilisation de caractères que les commentaires sur plusieurs lignes, et sont moins susceptibles d’être échappés par certains caractères douteux dans une instruction regex peut-être? Je serais plutôt d'accord avec Ned.
la source
Pour commenter un bloc de code dans l' IDE Pycharm :
la source
Utilisez le bloc de commentaires ou recherchez et remplacez (s / ^ / # / g) dans votre éditeur pour y parvenir.
la source
J'ai résolu cela en téléchargeant une macro pour mon éditeur de texte (TextPad) qui me permet de mettre en évidence les lignes et insère ensuite # au premier de chaque ligne. Une macro similaire supprime les #. Certains peuvent se demander pourquoi la multiligne est nécessaire mais elle est utile lorsque vous essayez de "désactiver" un bloc de code à des fins de débogage.
la source
Pour tous ceux qui recherchent des commentaires sur plusieurs lignes en Python - l'utilisation du format de guillemet triple peut avoir des conséquences problématiques, comme je viens de l'apprendre à la dure. Considère ceci:
Le commentaire sur plusieurs lignes sera inséré dans la chaîne suivante, gâchant le
'species'
clé. Mieux vaut simplement utiliser#
pour les commentaires.la source
Parce que la convention # est courante et qu'il n'y a vraiment rien que vous puissiez faire avec un commentaire multiligne que vous ne pouvez pas avec un commentaire # -sign. C'est un accident historique, comme l'ascendance des
/* ... */
commentaires remontant à PL / I,la source
Supposons qu'ils étaient simplement considérés comme inutiles. Puisqu'il est si facile de taper simplement
#a comment
, les commentaires multilignes peuvent simplement consister en de nombreux commentaires sur une seule ligne.Pour le HTML , en revanche, il y a plus de besoin de multilignes. Il est plus difficile de continuer à taper
<!--comments like this-->
.la source
C'est juste une supposition .. mais
Comme ce sont des chaînes, elles ont une certaine valeur sémantique (le compilateur ne s'en débarrasse pas), il est donc logique qu'elles soient utilisées comme docstrings. Ils font en fait partie de l' AST , donc l'extraction de la documentation devient plus facile.
la source
De plus, les commentaires multilignes sont une salope . Désolé de le dire, mais quelle que soit la langue, je ne les utilise à d'autres fins que le débogage. Disons que vous avez un code comme celui-ci:
Ensuite, vous découvrez qu'il y a quelque chose dans votre code que vous ne pouvez pas résoudre avec le débogueur, alors vous commencez à le déboguer manuellement en commentant des morceaux de code de plus en plus petits avec ces commentaires multilignes. Cela donnerait alors la fonction:
C'est vraiment énervant.
la source
/*
commentaires de style.Commentaires multilignes utilisant IDLE sur:
Mac OS X , après la sélection du code, commentez un bloc de code avec Ctrl+ 3et décommentez en utilisant Ctrl+ 4.
Windows , après la sélection du code, commente un bloc de code avec Ctrl+ Alt+ 3et décommente en utilisant Ctrl+ At+ 4.
la source
Je me souviens d'avoir lu un gars qui mettrait ses commentaires sur plusieurs lignes dans une variable à trois guillemets:
Cela prend un peu de mémoire, mais il vous offre une fonctionnalité de commentaire sur plusieurs lignes, et la plupart des éditeurs mettront en évidence la syntaxe pour vous :)
Il est également facile de commenter le code en l'enveloppant simplement avec
et
la source
x =
et il ne prend pas de mémoire.