Подтвердить что ты не робот

Python: "#" Комментарии после обратной косой черты

Это не работает:

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

Также это:

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

Также это:

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

Если есть способ сделать комментарии в коде разбитым на несколько строк?

4b9b3361

Ответ 1

Сделайте это так:

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
)

На самом деле, в соответствии с PEP8 в скобках предпочтительнее, чем косые черты, когда они разбиваются на несколько строк:

Предпочтительным способом переноса длинных строк является использование продолжения строки под Python в круглых скобках, скобках и фигурных скобках. Длинные строки могут быть разбиты на несколько строк, обертывая выражения в круглых скобках. Они должны использоваться вместо использования обратной косой черты для продолжения строки.

В вашем случае это также позволяет добавлять комментарии.

Вот доказательство того, что он работает: http://ideone.com/FlccUJ

Ответ 2

Не уверен, что вы пытаетесь сделать, поддерживается python. Прочтите раздел PEP8 о встроенных комментариях. Ввод комментариев в середине продолжения строки является "уродливым" и, вероятно, запутанным.

Путь Python с # в каждой строке, если вы хотите что-то комментировать или для встроенных комментариев, все после # игнорируется.

Если вы действительно хотите прокомментировать многострочный оператор, который действительно необходим, поставьте его перед или после него.

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

определенно не хотят вступать в аргумент о стиле, но только потому, что вы можете что-то сделать, это не значит, что это понятно. Встроенные комментарии отлично подходят для пояснения коротких строк кода, для которых требуется короткий указатель.