Pregunta Python: '#' Comentarios después de la barra invertida


Esto no funciona:

something = \
    line_of_code * \    #  Comment
    another_line_of_code * \    #  Comment
    and_another_one * \         #  Comment
    etc

Tampoco esto:

something = \
    #  Comment \
    line_of_code * \
    #  Comment \
    another_line_of_code * ...

Tampoco esto:

something = \
    ''' Comment ''' \
    line_of_code * \
    ''' Comment ''' \
    another_line_of_code * ...

Si hay una manera de hacer comentarios en el código dividido en varias líneas?


32
2017-07-13 13:54


origen


Respuestas:


Hazlo así:

a, b, c, d = range(1, 5)

result = (
    # First is 1
    a *
    # Then goes 2, result is 2 now
    b *
    # And then 3, result is 6
    c *
    # And 4, result should be 24
    d
)

Actualmente, de acuerdo con PEP8 Los paréntesis se prefieren sobre las barras, cuando se divide algo en múltiples líneas:

La forma preferida de envolver líneas largas es mediante el uso de la continuación de línea implícita de Python entre paréntesis, corchetes y llaves. Las líneas largas se pueden dividir en varias líneas envolviendo expresiones entre paréntesis. Deben usarse con preferencia al uso de una barra diagonal inversa para la continuación de línea.

En su caso, también permite poner comentarios.

Aquí hay una prueba, que funciona: http://ideone.com/FlccUJ


33
2017-07-13 14:08



No estoy seguro de lo que está tratando de hacer es compatible con Python. Leer Sección PEP8 sobre comentarios en línea. Poner comentarios en medio de las continuas de línea es "feo" y probablemente confuso.

La forma de Python es con # en cada línea si desea hacer comentarios o comentarios en línea todo después # es ignorado

Si realmente quiere comentar una declaración de líneas múltiples que realmente es necesaria, colóquela antes o después.

a, b, c, d = range(1, 5)
# a is ..., b is ...
# c is ..., d is ...
result = (a, b, c, d)

Definitivamente no quiero entrar en una discusión sobre el estilo, pero el hecho de que pueda hacer algo no significa que esté claro. Los comentarios en línea son excelentes para aclarar líneas cortas de código que solo necesitan un puntero corto.


-1
2017-07-13 14:10