Комментируйте блок кода Python

Есть ли механизм для комментирования больших блоков кода Python?

В настоящее время единственными способами, которые я вижу в комментировании кода, является либо запуск каждой строки с помощью #, либо включение кода в тройные кавычки: """.

Проблема заключается в том, что вставка # перед каждой строкой громоздка, а """ делает строку, которую я хочу использовать, как комментарий, отображаемый в сгенерированной документации.

После прочтения всех комментариев ответ кажется "Нет".

Ответ 1

Python не имеет такого механизма. Подготовьте # к каждой строке, чтобы заблокировать комментарий. Для получения дополнительной информации см. PEP 8. Большинство Python IDE поддерживают механизм автоматического распознавания блоков с комментариями с фунтами. Например, в IDLE на моей машине это Alt + 3 и Alt + 4.

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

Ответ 2

Единственное лекарство, которое я знаю для этого, - хороший редактор. Сожалею.

Ответ 3

Скрыть тройные кавычки в контексте, который не будет ошибочен для docstring, например:

'''
...statements...
''' and None

или

if False: '''
...statements...
'''

Ответ 4

Единственный способ сделать это без тройных кавычек - добавить:

if False:

И затем отступьте весь ваш код. Обратите внимание, что код по-прежнему должен иметь правильный синтаксис.


Многие IDE-объекты Python могут добавлять # для вас на каждую выделенную строку и удалять их при некорректном комментировании. Аналогично, если вы используете vi или Emacs вы можете создать макрос, чтобы сделать это для вас для блока кода.

Ответ 5

M-x comment-region, Emacs 'Режим Python.

Ответ 6

По крайней мере, в VIM вы можете выбрать первый столбец текста, который вы хотите вставить, используя режим Block Visual (CTRL+V в VN-образцах без окна), а затем перед каждой строкой, используя следующую последовательность, добавьте #:

I#<esc>

В режиме Block Visual I перемещается в режим вставки с курсором перед блоком на первой строке. Вставляемый текст копируется перед каждой строкой в ​​блоке.

Ответ 7

В JetBrains PyCharm на Mac используйте Command + /, чтобы комментировать/раскомментировать выбранный блок кода. В Windows используйте CTRL + /.

Ответ 8

В vi:

  • Перейдите к началу блока и отметьте его буквой a.
  • Подойдите к нижней части блока и отметьте его буквой b

Тогда do

:'a,'b s!^!#!

Ответ 9

Да, есть (хорошо в зависимости от вашего редактора). В PyDev (и в Aptana Studio с PyDev)

  • Ctrl + 4 - комментарий выделенного блока

  • Ctrl + 5 - раскомментировать выбранный блок

Ответ 10

В Eclipse + PyDev, Компонирование блоков Python аналогично компиляции блоков Java Eclipse; выберите строки, которые вы хотите прокомментировать, и используйте Ctrl + / для комментариев. Чтобы раскомментировать комментарий, сделайте то же самое.

Ответ 11

Единственным механизмом для комментирования кода Python (понимаемого как код, проигнорированный интерпретатором) является #.

Как вы говорите, вы также можете использовать строковые литералы, которые не игнорируются интерпретатором, но могут быть совершенно неактуальны для программы выполнение.

Ответ 12

Я использую Notepad++ на компьютере с Windows, выберите свой код, введите CTRL-K. Чтобы раскомментировать, вы выбираете код и нажимаете Ctrl + Shift + K.

Кстати, Notepad ++ прекрасно работает как редактор Python. С автозаполнением, сгибанием кода, подсветкой синтаксиса и т.д. И это бесплатно, как в речи, так и в пиве!

Ответ 13

В Visual Studio с помощью Python Tools для Visual Studio блоки можно прокомментировать Ctrl + K, Ctrl + C и раскомментирован Ctrl + K, Ctrl + U.

Ответ 14

В Eclipse с помощью PyDev, вы можете выбрать блок кода и нажать Ctrl + #.

Ответ 15

comm='''
Junk, or working code 
that I need to comment.
'''

Вы можете заменить comm на переменную по вашему выбору, которая, возможно, короче, проста в касании, и вы знаете, что это не происходит (и не будет) в ваших программах. Примеры: xxx, oo, null, nil.

Ответ 16

В Eric4 есть простой способ: выберите блок, введите Ctrl + M, чтобы прокомментировать весь блок или Ctrl + alt + M, чтобы раскомментировать.

Ответ 17

Другое редакторское решение: текст "прямоугольники" в Emacs.

Выделите код, который вы хотите прокомментировать, затем C-x-r-t #

Чтобы не комментировать код: выделить, затем C-x-r-k

Я использую это весь день, каждый день. (Разумеется, назначено горячим клавишам.)

Этот и мощный поиск/замена регулярных выражений является причиной того, что я переношу другие "эксцентриситеты" Emacs.

Ответ 18

Используйте хороший редактор, например SciTe, выберите свой код, нажмите Ctrl + Q и сделайте.

Если у вас нет редактора, который поддерживает комментарии блоков, вы можете использовать тройную кавычку в начале и конце кода, чтобы "эффективно" прокомментировать это. Однако это не лучшая практика.

Ответ 19

Тройные кавычки подходят ко мне. Вы можете использовать '' 'foo' '' для docstrings и "" bar "" " для комментариев или наоборот, чтобы сделать код более удобочитаемым.