Перейти к содержимому

Atom как закомментировать несколько строк

  • автор:

Многострочные комментарии в Python

Поддерживает ли Python многострочные комментарии так, как это реализовано в других языках? Какие варианты написания блочных комментариев в Python?

В большинстве языков программирования присутствует синтаксис для блочных комментариев, которые охватывают несколько строк текста, например C или Java:

/* Блочный комментарий. Охватывает несколько строк. */ int answer = 42; 

Есть ли в Python аналогичные многострочные комментарии? Короткий ответ: нет, по крайней мере, не совсем точно так же.

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

Вариант 1: последовательные однострочные комментарии

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

# Это «блочный комментарий» в Python, сделанный # из нескольких однострочных комментариев. answer = 42 

Большинство проектов Python следуют этому стилю, а руководство по стилю написания кода PEP 8 Python также рекомендует использовать повторяющиеся однострочные комментарии. Поэтому в большинстве случаях рекомендуется использовать их. Это также единственный способ написать «реальных» блочных комментариев в Python, которые игнорируется парсером.

Т.к. Python не поддерживает истинные многострочные комментарии, то для того чтобы закомментировать несколько строк кода требуется больше усилий. Приведём ряд полезных советов по ускорения работы с ними. У большинства редакторов кода есть шорткаты для блочных комментариев. Например, в Sublime Text достаточно просто выбирать пару строк, используя shift и клавиши курсора (или мышь), а затем нажимать cmd + /, чтобы закомментировать их все сразу.

Это даже работает в обратном порядке, то есть можно выбрать блок однострочных комментариев, и когда набирается клавиатурный шорткат cmd + /, весь блок снова раскомментируется.

Другие редакторы тоже поддерживают такую возможность: Atom, VS Code и даже Notepad++ имеют встроенные шорткаты для блочного комментирования в Python. Управление комментариями Python вручную – это неблагодарная работа, поэтому такая функция редактора может сэкономить много времени.

Вариант 2: использование многострочных строк вместо комментариев

Ещё одним вариантом для написания «правильных» многострочных комментариев в Python является использование многострочных строк с синтаксисом «»» (три кавычки). Например:

""" Блок комментариев в Python, сделанный из многострочной строковой константы. """ answer = 42 

Можно использовать тройные кавычки для создания чего-то, что напоминает многострочный комментарий в Python. Необходимо убедиться, что правильно ввели «»», иначе будет получено исключение SyntaxError. Например, если нужно определить блочный комментарий внутри функции с помощью такого синтаксиса, то должны выполнить это следующим образом:

def add_stuff(a, b): result = a + b """ Теперь возвращается результат. Ещё один пример многострочного комментария. """ return result 

Имейте в виду, что данный метод не создает «истинных» комментариев. Он просто вставляет текстовую константу, которая ничего не делает. Это то же самое, что вставить правильную однострочную строку где-то в коде и никогда не обращаться к ней.

Тем не менее, такая потерянная строковая константа не будет отображаться в байт-коде, фактически превращая её в многострочный комментарий. Далее доказательство того, что неиспользуемая строка не будет отображаться в дизассемблированном байт-коде CPython:

>>> import dis >>> dis.dis(add_stuff) 2 0 LOAD_FAST 0 (a) 2 LOAD_FAST 1 (b) 4 BINARY_ADD 6 STORE_FAST 2 (result) 8 8 LOAD_FAST 2 (result) 10 RETURN_VALUE 

Однако будьте осторожны, когда помещаете такие «комментарии» в код. Если строка следует сразу после сигнатуры функции, определения класса или в начале модуля, она превращается в docstring, которая имеет совсем другое значение в Python:

def add_stuff(a, b): """ Это теперь связанная с docstring функция с объектом функции и доступным как метаданные времени выполнения. """ result = a + b return result 

Docstrings («строки документации») позволяют сопоставлять удобочитаемую документацию с модулями, функциями, классами и методами Python. Они отличаются от комментариев исходного кода.

Комментарий удаляется парсером, тогда как docstring встраивается в байт-код и ассоциируется с документированием объекта. Её можно даже запросить к программному объекту во время выполнения.

Как это было сказано ранее, единственный способ получить «истинные» многострочные комментарии в Python, которые игнорируются парсером, заключается в использовании нескольких комментариев # для каждой однострочной строки.

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

Выводы

  • В отличие от других языков программирования Python не поддерживает многострочные комментарии из коробки.
  • Рекомендуемый способ закомментировать несколько строк кода в Python — использовать последовательные # однострочные комментарии. Это единственный способ получить «истинные» комментарии в исходном коде, которые удаляются парсером Python.
  • Вы можете использовать строки с тремя кавычками «»», чтобы создать что-то похожее на многострочные комментарии в Python, но это не идеальный метод, и такие могут превратиться в случайные docstrings.

Комментирование блоков кода в Atom

Я перешел с Webstorm и RubyMine на Atom и очень скучаю по функции редакторов Jetbrains, где вы выбираете блок кода и нажимаете CMD + — , и она добавляет символы комментариев на языке в начало каждой строки. ( # для ruby. // для js, /* для css и т.д.). Есть ли встроенный ярлык для Atom или пакет, который предоставляет эту функцию? atom-editor

Поделиться Источник 12 июля 2015 в 04:35

15 ответов

Согласно этому, cmd + / должен сделать это. А для Windows и Linux это ctrl + / .
Поделиться 12 июля 2015 в 05:05

Atom не имеет конкретной функции блока комментариев, но если вы выберете больше строк, а затем используете обычный ctrl — / (Windows или Linux) cmd — / (Mac), он закомментирует все строки.

Поделиться 25 февраля 2016 в 13:26

Command + / или Ctrl + shift + 7 не работает для меня (клавиатура Debian + Colombia). В моем случае я изменил файл Atom keymap.cson, добавив следующее:

'.editor': 'ctrl-7': 'editor:toggle-line-comments' 

и теперь это работает!
Поделиться 19 января 2017 в 20:19

  • Пакет комментариев для атома (https://atom.io/packages/comment)
  • Блокировка строк комментариев https://atom.io/packages/block-comment-lines
  • Sublime Block Comments

Поделиться 18 декабря 2015 в 16:37

Нажатие (Cmd + /) создаст однострочный комментарий. Например, // Однострочный комментарий

Введите ( /** и нажмите клавишу TAB), чтобы создать блок комментария

Поделиться 01 февраля 2018 в 15:57

При всем моем уважении к вышеуказанным комментариям, нет необходимости использовать пакет:

1) click on Atom 1.2) then ATL => the menu bar appear 1.3) File > Settings => settings appear 1.4) Keybindings > Search keybinding input => fill "comment" 1.5) you will see : 

keybindings panel in atom editor

если вы хотите изменить конфигурацию, вам просто нужно параметрировать ваш файл клавиатуры

Поделиться 01 марта 2018 в 20:37

Вы можете использовать Ctrl + / . Это работает для меня.

Поделиться 18 августа 2016 в 12:24

Многострочный комментарий можно сделать, выбрав строки и нажав Ctrl+/. И теперь у вас может быть много плагинов для комментариев

лучше блок-комментарий попробуйте это..

Поделиться 15 июля 2016 в 10:35

Отредактируйте ваш файл keymap.cson и добавьте

Windows

'.platform-win32 .editor': 'ctrl-/': 'editor:toggle-line-comments'

Mac

'.platform-darwin .editor': 'cmd-/': 'editor:toggle-line-comments'

Теперь просто выделите текст, который вы хотите закомментировать, и нажмите на клавиатуру.

Поделиться 07 августа 2016 в 23:20

Вы можете использовать Ctrl + Shift + / для Windows.

Поделиться 07 декабря 2016 в 13:16

Возможная причина: остерегайтесь перекрытия привязок клавиш. Это произошло в моем случае и отключило первоначальную привязку toggle line comment :

enter image description here

Привязки клавиш, которые вы можете найти в Редактировать -> Настройки -> Привязки клавиш навигационной панели приложения.

Решением было переопределение привязки для github:toggle-patch-selection-mode

enter image description here

Поделиться 09 декабря 2020 в 01:35

Atom по умолчанию не имеет блочного комментария, поэтому я бы рекомендовал искать пакеты atom с помощью «блочного комментария» и устанавливать подходящий для вас вариант.

Я предпочитаю https://atom.io/packages/block-comment, потому что он имеет ближайший сочетание клавиш к строчному комментарию и работает так, как мне нужно, то есть он будет комментировать не всю строку, а только выбранный текст.

line comment: CTRL+/ block comment: CTRL+SHIFT+/ (с установленным плагином)

Поделиться 20 февраля 2018 в 09:02

Сначала выберите свой блок кода, затем нажмите cmd + / для MacOS

Поделиться 07 февраля 2019 в 15:38

На бельгийской клавиатуре, утвержденной на Mac command + shift + / , есть нажатие клавиши для комментирования блока.

Поделиться 24 декабря 2016 в 17:18

CTRL+/ на Windows, нет необходимости выбирать целую строку, просто используйте комбинацию клавиш в строке, которую вы хотите закомментировать.

Prolog: Комментарии

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

  • Весь текст после символа % и до конца строки будет считаться комментарием (однострочный комментарий)
  • Весь текст после /* и до */ будет считаться комментарием (многострочный комментарий)
% Комментарий может занимать всю строчку :– write('Это не комментарий'). % или может находиться на строчке после какого–нибудь кода /* А это многострочный комментарий */ 

Задание

Для примера из урока, создайте однострочный комментарий с текстом: You know nothing, Jon Snow!.

Упражнение не проходит проверку — что делать? ��

Если вы зашли в тупик, то самое время задать вопрос в «Обсуждениях». Как правильно задать вопрос:

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

В моей среде код работает, а здесь нет ��

Тесты устроены таким образом, что они проверяют решение разными способами и на разных данных. Часто решение работает с одними входными данными, но не работает с другими. Чтобы разобраться с этим моментом, изучите вкладку «Тесты» и внимательно посмотрите на вывод ошибок, в котором есть подсказки.

Мой код отличается от решения учителя ��

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

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

Прочитал урок — ничего не понятно ��

Создавать обучающие материалы, понятные для всех без исключения, довольно сложно. Мы очень стараемся, но всегда есть что улучшать. Если вы встретили материал, который вам непонятен, опишите проблему в «Обсуждениях». Идеально, если вы сформулируете непонятные моменты в виде вопросов. Обычно нам нужно несколько дней для внесения правок.

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

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

Привет, я новичок в программировании и использую atom для python. Но как мне закомментировать несколько строк и дать отступы нескольким строкам, таким как pyscripter? Есть ли какой-то пакет для этого? python atom-editor pyscripter

Поделиться Источник 24 февраля 2017 в 10:39

1 ответ

  • ‘autocomplete-python’ — Полезная программа автоматического завершения, завершает переменные, методы, пакеты и функции, включая их аргументы.
  • ‘python-indent’ — Выдает отступы после использования «:» как IDLE, полезно, поэтому вам не нужно каждый раз запускать TAB.
  • ‘atom-python-run’ — Позволяет запускать ваши программы на Python прямо из atom.

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

Поделиться 24 февраля 2017 в 10:51

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *