274 votos

¿Por qué no Python tiene comentarios multilínea?

OK, estoy consciente de que triple-cadenas de comillas puede servir como comentarios multilínea. Por ejemplo,

"""Hello, I am a 
   multiline comment"""

y

'''Hello, I am a 
   multiline comment'''

Pero técnicamente hablando estos son cadenas, ¿correcto?

He buscado en google y leer la guía de estilo de Python, pero yo era incapaz de encontrar una respuesta técnica de por qué no hay ninguna implementación formal de múltiples líneas, /* */ tipo de comentarios. No tengo ningún problema en usar la triple cita, pero estoy un poco de curiosidad por saber qué llevó a esta decisión de diseño.

281voto

Ned Batchelder Puntos 128913

Dudo que obtendrá una respuesta mejor que, "Guido no se sentía la necesidad de que los comentarios de varias líneas".

Guido ha twitteado sobre esto,

Punta Python: Usted puede utilizar cadenas multilínea como comentarios multilínea. Menos que sean utilizados como cadenas de documentación, que generan ningún código! :-)

60voto

Steve Losh Puntos 11958

Comentarios de varias líneas son fácilmente rompible. ¿Qué pasa si usted tiene la siguiente en un programa de calculadora simple?

 operation = ''
print("Pick an operation:  +-*/")
# Get user input here
 

Trate de comentar que con un comentario de varias líneas:

 /*
operation = ''
print("Pick an operation:  +-*/")
# Get user input here
*/
 

Vaya, la cadena contiene el extremo delimitador de comentario.

38voto

Triptych Puntos 70247

Triple-citado texto NO debe ser considerado comentarios de varias líneas; por convención, son docstrings. Deben describir lo que el código hace y cómo usarlo, pero no para cosas como el comentario de bloques de código.

Según Guido, comentarios multilínea en Python son sólo contiguo, de una sola línea de comentarios (búsqueda de "bloque de comentarios").

Para comentar bloques de código, yo a veces uso el siguiente patrón:

if False:
    # A bunch of code

30voto

Jarred McCaffrey Puntos 624

Es probable que esto vuelve al concepto de la base que debe haber una manera obvia de una tarea. Estilos de comentario adicional añadir complicaciones innecesarias y podrían disminuir la legibilidad.

12voto

Abgan Puntos 2249

Así, el triple de las comillas se utilizan como comentarios multilínea en docstrings. Y # comentarios son usados como comentarios en línea y la gente se utilice.

La mayoría de los lenguajes de script no tiene comentarios multilínea. Tal vez esa es la causa?

Ver PEP 0008, sección de Comentarios

Y a ver si tu Python editor ofrece algunos atajos de teclado para bloquear a comentar. Emacs que soporta, así como Eclipse, presumiblemente, la mayoría de decente IDEs.

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X