Pregunta ¿Cómo crear comentarios de líneas múltiples en Python?


Recientemente comencé a estudiar Pitón, pero no pude encontrar cómo implementar comentarios de varias líneas. La mayoría de los lenguajes tienen símbolos de comentario de bloque como

/* 

*/

Intenté esto en Python, pero arroja un error, así que probablemente esta no sea la forma correcta. ¿Tiene Python en realidad una función de comentario de líneas múltiples?


828
2017-10-08 12:51


origen


Respuestas:


Puede usar cadenas de comillas triples. Cuando no son una docstring (lo primero en una clase / función / módulo), se ignoran.

'''
This is a multiline
comment.
'''

(Asegúrese de sangrar el líder ''' apropiadamente para evitar una IndentationError.)

Guido van Rossum (creador de Python) tuiteó esto como un "consejo profesional".

Sin embargo, la guía de estilo de Python, PEP8, favorece el uso de comentarios consecutivos de una sola línea, y esto es también lo que encontrarás en muchos proyectos. Los editores generalmente tienen un atajo para hacer esto fácilmente.


1336
2017-10-08 12:58



Python tiene un cadena multilínea / sintaxis de comentario en el sentido de que a menos que se usen como documentos, cadenas multilínea no generar bytecode -- al igual que #-preparados comentarios. En efecto, actúa exactamente como un comentario.

Por otro lado, si dices que este comportamiento debe estar documentado en el oficial documentos para ser una sintaxis de comentario verdadero, entonces sí, estaría en lo cierto al decir que no es garantizado como parte de la especificación del idioma.

En cualquier caso, su editor también debería poder comentar fácilmente un seleccionado región (colocando un # enfrente de cada línea individualmente). Si no, cambia a un editor que sí.

La programación en Python sin ciertas funciones de edición de texto puede ser dolorosa experiencia. Encontrar el editor correcto (y saber cómo usarlo) puede hacer un gran diferencia en cómo se percibe la experiencia de programación Python.

El editor no solo debe poder comentar las regiones seleccionadas, sino que debe también ser capaz de cambiar bloques de código a la izquierda y derecha fácilmente, y debería coloca automáticamente el cursor en el nivel de sangría actual cuando presiona Entrar. El plegado de código también puede ser útil.


Para protegerse contra la caída del enlace, aquí está el contenido de Tweet de Guido van Rossum:

@BSUCSClub Consejo de Python: puede usar cadenas de varias líneas como comentarios de varias líneas. ¡A menos que se usen como cadenas de texto, no generan código! :-)


63
2017-10-08 12:54



En Python 2.7, el comentario multilínea es:

"""
This is a
multilline comment
"""

En caso de que esté dentro de una clase, debe tabularla correctamente.

Por ejemplo:

class weather2():
   """
   def getStatus_code(self, url):
       world.url = url
       result = requests.get(url)
       return result.status_code
   """

¡Espero que ayude!


27
2018-02-16 14:00



De la respuesta aceptada ...

Puede usar cadenas de comillas triples. Cuando no son una docstring (lo primero en una clase / función / módulo), se ignoran.

Esto simplemente no es verdad. A diferencia de los comentarios, las cadenas de comillas triples aún se analizan y deben ser sintácticamente válidas, independientemente de dónde aparezcan en el código fuente.

Si intenta ejecutar este código ...

def parse_token(token):
    """
    This function parses a token.
    TODO: write a decent docstring :-)
    """

    if token == '\\and':
        do_something()

    elif token == '\\or':
        do_something_else()

    elif token == '\\xor':
        '''
        Note that we still need to provide support for the deprecated
        token \xor. Hopefully we can drop support in libfoo 2.0.
        '''
        do_a_different_thing()

    else:
        raise ValueError

Obtendrás ...

ValueError: invalid \x escape

... en Python 2.xo ...

SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 79-80: truncated \xXX escape

... en Python 3.x.

La única forma de hacer comentarios de varias líneas que el analizador ignora es ...

elif token == '\\xor':
    # Note that we still need to provide support for the deprecated
    # token \xor. Hopefully we can drop support in libfoo 2.0.
    do_a_different_thing()

23
2018-06-29 13:04



AFAIK, Python no tiene comentarios de bloque. Para comentar líneas individuales, puede usar # personaje.

Si estás usando Notepad ++, hay un atajo para comentar en bloque. Estoy seguro de que a otros les gusta gVim y Emacs tienen características similares.


22
2017-10-08 12:55



Creo que no, excepto que una cadena multilínea no se procesa. Sin embargo, la mayoría, si no todos los IDEs de Python tienen una tecla abreviada para 'comentar' múltiples líneas de código.


9
2017-10-08 12:54



Si pones un comentario en

"""
long comment here
"""

en el medio de un script, python / linters no lo reconocerá. El plegado se arruinará, ya que el comentario anterior no forma parte de las recomendaciones estándar. Es mejor usar

# long comment
# here.

Si utiliza vim, puedes hacer plugins https://github.com/tpope/vim-commentary, para comentar automáticamente largas líneas de comentarios presionando Vjgcc. Dónde Vj selecciona 2 líneas de código, y gcc los comenta.

Si no desea usar complementos como el anterior, puede usar buscar y reemplazar como

:.,.+1s/^/# /g.

Esto reemplazará al primer personaje en la línea actual y siguiente con #.


4
2018-01-31 18:16



En Python 2.7.13:

Soltero:

"A sample single line comment "

Multiline:

"""
A sample
multiline comment
on PyCharm
"""

3
2018-05-11 15:47



Bueno, puedes probar esto (cuando ejecutas el texto citado, la entrada a la primera pregunta debe citarse con ')

"""
print("What's your name? ")
myName = input()
print("It's nice to meet you " + myName)
print("Number of characters is ")
print(len(myName))
age = input("What's your age? ")
print("You will be " + str(int(age)+1) + " next year.")

"""
a = input()
print(a)
print(a*5)

Lo que sea que esté entre """ será comentado.

Si está buscando comentarios de una sola línea, entonces es #.


3
2017-09-15 05:27



Cómo comentar:

'''
   Comment what you want here
'''

o

 """
    Comment what you want here
 """

2
2017-07-11 12:40