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 * ...
Если есть способ сделать комментарии в коде разбитым на несколько строк?
Ответы
Ответ 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)
определенно не хотят вступать в аргумент о стиле, но только потому, что вы можете что-то сделать, это не значит, что это понятно. Встроенные комментарии отлично подходят для пояснения коротких строк кода, для которых требуется короткий указатель.