Как закомментировать блок кода в Python
Проблема: Отсутствие механизма для комментирования больших блоков кода в Python
Сейчас, на мой взгляд, единственные способы комментирования кода в Python — это либо начинать каждую строку с символа #
, либо заключать код в тройные кавычки: """
.
Проблемы с этими подходами следующие: вставка символа #
перед каждой строкой является утомительной, а использование тройных кавычек приводит к тому, что строка, которую я хочу использовать в качестве комментария, появляется в сгенерированной документации.
После прочтения всех комментариев, похоже, ответ на вопрос — «Нет».
Существует ли более удобный механизм для комментирования больших блоков кода в Python?
5 ответ(ов)
Чтобы скрыть тройные кавычки в коде, чтобы их не восприняли как докстринги, вы можете использовать несколько хитростей. Один из способов — это обернуть тройные кавычки в неисполняемый контекст, такой как условие if False
, или разместить их после инструкций, которые не имеют отношения к основному коду. Вот несколько примеров:
- Использование условия
if False
:
if False:
'''
...ваши инструкции...
'''
В этом примере блок с тройными кавычками никогда не будет выполнен, и Python не воспримет его как докстринг.
- Скрытие после инструкции, возвращающей
None
:
def example():
# Никаких избыточных инструкций
return None
'''
...ваши инструкции...
'''
Такой подход также позволяет избежать недоразумений. Просто помните, что это всего лишь трюк, и код все равно будет работать корректно.
Единственное средство, которое я знаю для этого — хороший редактор. Извините.
В JetBrains PyCharm на Mac для комментирования/раскомментирования выделенного блока кода используйте сочетание клавиш ⌘ + /. На Windows аналогичная команда выполняется с помощью Ctrl + /.
В VIM вы действительно можете выбрать первый столбец текста, который хотите вставить, используя блочный визуальный режим (на VIM для не-Windows это CTRL+V
). Затем вы можете добавить символ #
перед каждой строкой, используя следующую последовательность:
I#<esc>
В блочном визуальном режиме нажатие I
переводит вас в режим вставки с курсором перед блоком на первой строке. Вставленный текст будет добавлен перед каждой строкой в выбранном блоке.
Чтобы упростить код и избежать проблем с использованием переменной comm
, можно заменить её на более короткую и удобную для ввода переменную, например xxx
. Вот как это может выглядеть:
xxx = '''
Мусор или рабочий код,
который мне нужно прокомментировать.
'''
Такое изменение сделает код более читаемым и не повлияет на его функционирование.
Какие самые распространенные форматы docstring в Python? [закрыт]
Как клонировать список, чтобы он не изменялся неожиданно после присваивания?
Преобразование списка словарей в DataFrame pandas
Ошибка: "'dict' объект не имеет метода 'iteritems'"
Как явно освободить память в Python?