Комментирование с продолжением строки
У меня есть этот блок кода, который я хочу комментировать, но встроенные комментарии не работают. Я не уверен, что здесь применимо руководство PEP8. Совет?
if next_qi < qi + lcs_len \ # If the next qLCS overlaps
and next_ri < ri + lcs_len \ # If the next rLCS start overlaps
and next_ri + lcs_len > ri: # If the next rLCS end overlaps
del candidate_lcs[qi] # Delete dupilicate LCS.
2 ответа
В Python ничего не может прийти после \
символ продолжения строки.
Тем не менее, вы можете делать то, что вы хотите, если вы поставите свое условие в скобках:
if (next_qi < qi + lcs_len # If the next qLCS overlaps
and next_ri < ri + lcs_len # If the next rLCS start overlaps
and next_ri + lcs_len > ri): # If the next rLCS end overlaps
del candidate_lcs[qi] # Delete dupilicate LCS.
Ниже приведена демонстрация:
>>> if (1 == 1 # cond 1
... and 2 == 2 # cond 2
... and 3 == 3): # cond 3
... print True
...
True
>>>
Соответствующее руководство по PEP 8:
Предпочтительным способом переноса длинных строк является использование подразумеваемого продолжения строки в Python внутри скобок, скобок и скобок. Длинные строки можно разбить на несколько строк, заключив выражения в скобки. Их следует использовать вместо использования обратной косой черты для продолжения строки.
Часто упускаемый способ иметь дело с очень длинными строками - разбить их на более короткие:
q_overlaps = next_qi < qi + lcs_len # If the next qLCS overlaps
r_start_overlaps = next_ri < ri + lcs_len # If the next rLCS start overlaps
r_end_overlaps = next_ri + lcs_len > ri # If the next rLCS end overlaps
if q_overlaps and r_start_overlaps and r_end_overlaps:
del candidate_lcs[qi] # Delete dupilicate LCS.