Pourquoi python utilisation non conventionnelle triple guillemets pour les commentaires?
Pourquoi ne pas python suffit d'utiliser le style traditionnel des commentaires comme le C/C++/Java utilise:
/**
* Comment lines
* More comment lines
*/
// line comments
// line comments
//
Est-il une raison spécifique pour cela ou c'est juste de l'arbitraire?
- Quoi? Python utilise les # commentaires, qui sont de pratique courante dans beaucoup de langues.
- Je parlais de la les commentaires multi-lignes qui commencent avec
"""
je crois... - Je sais
#
est utilisé dans d'autres langues (je sais bash utilise). - Ceux ne sont pas des commentaires, ils sont docstrings.
- Ils ne sont pas docstrings. Ils sont juste couramment utilisé pour les docstrings si la chaîne est plus facile à lire.
- Non, ce qu'il regarde et appelle les commentaires sont presque certainement docstrings.
Vous devez vous connecter pour publier un commentaire.
Python n'utilisez pas de guillemets triples pour les commentaires. Commentaires l'utilisation de la table de hachage (un.k.un. livre) caractère:
Le triple citation chose est un doc chaîne, et, contrairement à un commentaire, est en fait disponible comme une véritable chaîne au programme:
Il n'est pas strictement nécessaires à l'utilisation de triple guillemets, tant que c'est une chaîne. À l'aide de
"""
est juste une convention (et a l'avantage d'être multi-lignes).def Foo()
,class Foo()
, ou le début d'un module, sont traités comme une chaîne de caractères contenant la documentation pour cet objet, et stockées dans la__doc__
attribut de l'objet".Un certain nombre de réponses obtenu beaucoup de points, mais ne donne pas une vue complète de la façon dont les choses fonctionnent. Pour résumer...
# comment
est la façon Python n'commentaires (similaire à bash, et quelques autres langues). Python a seulement "à la fin de la ligne" commentaires, il n'a pas explicite commentaire multi-lignes wrapper (par opposition à du javascript/* .. */
). La plupart Python IDEs vous permettent de sélectionner et commentaire d'un bloc à la fois, c'est combien de personnes à gérer cette situation.Alors il est normal d'une seule ligne de python cordes: Ils peuvent utiliser
'
ou"
guillemets (par exemple'foo'
"bar"
). La principale limitation de ces derniers est qu'ils ne passent pas automatiquement sur plusieurs lignes. C'est ce que multiligne-les cordes sont pour: ceux-ci sont des chaînes de caractères entourée par des triples guillemets simples ou doubles ('''
ou"""
) et sont fin seulement quand un correspondant sans échappement terminator est trouvé. Ils peuvent aller sur autant de lignes que nécessaire, et inclure tous les intervenant espaces.Ou l'autre de ces deux types de chaînes de définir une chaîne de caractères de l'objet. Ils peuvent être affectés à un nom de variable, les opérateurs sont appliquées, etc. Une fois analysées, il n'y a pas de différences entre tous ces formats. Cependant, il y a deux cas particuliers basé sur où la chaîne est et comment il est utilisé...
Tout d'abord, si une chaîne écrite, sans opérations supplémentaires appliquées et ne sont pas attribuées à une variable, ce qui arrive à lui? Lorsque le code s'exécute, le nu-string est essentiellement jetés. Alors, les gens ont trouvé commode de commenter des gros morceaux de code python à l'aide de multi-ligne de chaînes (vous échapper à tout interne multi-ligne de chaînes de caractères). Ce n'est pas commun, ou sémantiquement correct, mais il est permis.
La deuxième utilisation est que ces nus de chaînes de suivre immédiatement après un
def Foo()
,class Foo()
, ou le début d'un module, sont traités comme une chaîne de caractères contenant la documentation pour cet objet, et stockées dans la__doc__
attribut de l'objet. C'est le cas le plus fréquent où les chaînes de caractères peuvent sembler comme ils sont un "commentaire". La différence, c'est qu'ils sont effectuant un rôle actif dans le cadre de l'analyse de code, d'être stockées dans la__doc__
... et contrairement à un commentaire, on peut les lire au moment de l'exécution.a="foo"
a = "century"
est un assignement et le processus connexe est une liaison d'un nom et d'un objetTriple guillemets ne sont pas des commentaires. Ils sont les littéraux de chaîne qui s'étendent sur plusieurs lignes et comprennent les sauts de ligne dans la chaîne résultante. Cela vous permet d'utiliser
au lieu de
La plupart des langages de script à utiliser # comme un marqueur de commentaire donc pour sauter automatiquement le shebang (#!) qui indique au programme du chargeur à l'interprète de s'exécuter (comme dans #!/bin/bash). Sinon, l'interprète peut être chargé automatiquement ignorer la première ligne, mais c'est plus commode juste à définir # comme marqueur de commentaire, et ça y est, il est donc sauté comme une conséquence.