Как быстро закомментировать в питоне
Перейти к содержимому

Как быстро закомментировать в питоне

  • автор:

Как на PyCharm закомментировать блок кода

Здравствуйте. Подскажите пожалуйста как закомментировать блок кода. На Visual Studio это делается очень легко, на PyCharm так сделать не получается. Понимаю, что злоупотребляю Вашей добротой, но подскажите еще как сдвинуть вправо блок когда. Делаю это по одной строке. Спасибо.

Лучшие ответы ( 1 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Как закомментировать часть кода?
Какая комбинация клавиш в Visual Studio помогает закомментировать часть кода?

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

Как закомментировать большой участок кода?
Чтобы не писать всё время "//" напротив каждой строчки.

Am I evil? Yes, I am!

Эксперт PythonЭксперт Java

16429 / 9807 / 2737
Регистрация: 21.10.2017
Сообщений: 21,697

Лучший ответ

Сообщение было отмечено Welemir1 как решение

Решение

ЦитатаСообщение от kuchak Посмотреть сообщение

сдвинуть вправо блок когда
Выделил блок, нажал Tab

ЦитатаСообщение от kuchak Посмотреть сообщение

закомментировать блок
Выделил блок, нажал Ctrl+/
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Автозавершение кода в Sublime Text 3 как в PyCharm
Доброе время суток! Вопрос у меня следующий: пробовал я кодить в PyCharm и понравилось мне оттуда.

Закомментировать часть кода
Преподаватель может показать на любую часть кода и просит сказать: что делает, откуда берёт, куда.

Что означают строчки кода(закомментировать)?
Помогите закомментить строчки кода на ассемблер. 264-364

Среда разработки VB. Можно ли закомментировать текстовый блок?
Можно закомментировать(снять комментарии) с выделенного текстового блока? Форматировать выделенный.

PyCharm, автодополнение кода в Django шаблонах
Можно ли как то настроить автодополнение кода в шаблонах? Например, я ввожу в редакторе:

Автодополнение кода в PyCharm Community Edition на основе искусственного интеллекта
Пробовали ли Вы добавлять плагин искусственного интеллекта для автодополнения и заметили ли разницу.

10 полезных сочетаний клавиш в PyCharm

Сегодня я хочу поделиться с вами своими лайфхаками касательно работы в PyCharm, ведь мы все хотим сократить время разрабатывая проект, а в этом нам помогут быстрые команды при помощи сочетаний клавиш. Так как я предпочитаю пользоваться операционной системой семейства Windows, сочетания клавиш будут заточены под нее. Перед тем как применять данные комбинации, проследите за тем чтобы у вас стояла английская раскладка, иначе, команды будут совсем другие.

Быстрое изменение регистра

Иногда полезно быстро изменить регистр слов с верхнего на нижний, или наоборот, в этом нам поможет сочетание клавиш Ctrl + Shift + U.

Верхний регистр. Нижний регистр.

Быстрое форматирование кода по стандарту PEP 8

Скопированный код с сайта чаще всего требует форматирования, особенно это касается отступов, вручную это делать долго и нудно, поэтому существует команда Ctrl + Alt + L, она в миг исправит все ошибки форматирования в коде и расставит все по своим местам.

До форматирования.После форматирования.

Закомментировать код

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

Серым цветом обозначен закомментированный текст.

Табуляция

Некоторые конструкции, например такие как if, elif, else требуют обозначения вложенности (отступов), т.е. после условия нужно отступить от левого края нажав кнопку пробел на четыре раза. Такой ввод можно заменить, нажав один раз кнопку Tab. Обратная команда Shit + Tab, убирает отступ.

Пример табуляции на третьей строчке кода.

Дублирование строки

Быстро продублировать строку поможет сочетание клавиш Ctrl + D.

Пример дублирования строк.

Перемещение блоков

Для быстрого перемещения строк или блоков используйте сочетание клавиш Ctrl + Shift + Стрелка вверх – двигает выделенный блок или строку вверх, Ctrl + Shift + Стрелка вниз – двигает выделенный блок или строку вниз.

До перемещения.После перемещения.

Выделить текущий блок

При помощи сочетания клавиш Ctrl + W, можно выделить текущий блок, если нажимать это сочетание дальше, то будут выделяться родительские блоки.

До выделения.После выделения.

Посмотреть определение методов, функций, переменных и т.п.

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

На данном примере кликнув с зажатой клавишей Ctrl на переменную value, мы попадаем в место где она определена.

Показ последних блоков кода с которыми работали

Весьма пригодная команда, для вызова ее используйте комбинацию клавиш Ctrl + Shift + E.

Недавние блоки кода с которыми работали.

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

Для того чтобы установить закладку на строке кода, используйте сочетание клавиш Ctrl + F11, откроется меню в котором можно будет выбрать в качестве имени закладки как цифру, так и букву. Быстро установить безымянную закладку поможет клавиша F11, открыть меню с закладками можно при помощи сочетания клавиш Alt + 2.

Установка закладок с открытым меню.

А какие горячие клавиши в PyCharm знаете вы? Поделитесь ими в комментариях.

Python комментарии

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

Что такое комментарии и зачем они нужны?

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

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

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

Однострочные

В каждом отдельно взятом языке программирования используется собственный синтаксис однострочных комментариев. Зачастую в роли специального оператора, который сообщает компьютеру о том, что следующая строка является комментарием, задействуется двойной слеш (//). В Python эту функцию выполняет обычный символ решетки (#). Следующий код демонстрирует создание двух однострочных комментариев внутри самой программы.

# this is a comment # print("Hello World!")

Если запустить программу с этим кодом на выполнение, ничего не произойдет, поскольку, как уже было сказано ранее, комментарии полностью игнорируются компьютером. Писать пояснения можно не только на английском, но и на русском языке. Для русских комментариев в Python нужно подключить кодировку UTF-8 (Unicode Transformation Format, 8-bit). В противном случае, компилятор выдаст ошибку, не сумев правильно распознать символы кириллицы.

# coding: utf-8 # это комментарий

Комментарий может находиться в любой части программы, закрывая от компилятора не только целую строку, но и ее отдельную часть, идущую за символом решетки. Пояснение, расположенное следом за определенной командой, как правило, должно в максимально лаконичной форме передавать ее смысл. В следующем примере комментарии отображают точки старта и завершения программы, а также передают назначение функции print().

# coding: utf-8 # начало программы print("Hello World!") # выводим приветствие на экран # конец программы

Создавая комментарии, необходимо принять во внимание тот факт, что символ решетки не задействуется по прямому назначению, если заключен в строковый литерал. В приведенном ниже фрагменте кода данный оператор является частью строки под названием string. Работая в IDE (Integrated Development Environment), можно увидеть, что комментарии автоматически выделяются курсивом и обладают особой подсветкой, облегчающей их распознавание.

string = "# это не комментарий"

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

string = "text" ####### это комментарий #######

В приведенном выше фрагменте кода за инициализацией строк string следует однострочный комментарий. Таким образом, количество символов решетки может быть произвольным.

Многострочные

Большинство высокоуровневых языков программирования поддерживают многострочные комментарии, которые помогают более подробно описывать детали реализации сложных для понимания блоков кода. Общепринятым синтаксисом для данной конструкции является слеш со звездочкой в начале выделенного блока (/*) и те же самые символы в обратном порядке в конце комментария (*/). Однако Python не поддерживает подобную возможность, вместо нее предлагая использовать совокупность нескольких однострочных комментариев.

# coding: utf-8 # программа Hello World # создает и выводит строку на экран # начало программы greeting = "Hello World!" # создаем строку print(greeting) # выводим строку на экран # конец программы

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

Однако современные IDE и редакторы кода, такие как PyCharm или NetBeans способны не только отображать синтаксис языка, но также поддерживают множество горячих клавиш для более быстрого написания программ. С их помощью можно моментально закомментировать огромный блок кода, а также оперативно избавиться от символов решетки в начале каждой строки. Это существенно ускоряет работу программиста и улучшает удобство тестирования.

Так, например, чтобы закомментировать несколько строк Python кода, в PyCharm, следует их выделить и нажать комбинацию клавиш +.

Docstring

Для создания документации к различным модулям, классам, функциям и методами в Python широко применяется такой инструмент как docstring. Согласно официальному соглашению PEP 8 (Python Enhancement Proposal), которое содержит в себе комплекс общепринятых норм по написанию кода, в Python docstring необходимо использовать в качестве поясняющей конструкции для всех создаваемых блоков кода. Такие примечания необходимо помещать сразу же после определения класса, метода, функции или модуля, заключая текст в тройные кавычки.

# coding: utf-8 # программа Hello World def greeting(): """Функция приветствия. Создает и выводит строку на экран. """ greeting = "Hello World!" # создаем строку print(greeting) # выводим строку на экран greeting() # вызываем функцию greeting() print(greeting.__doc__) # выводим docstring

Данный пример демонстрирует работу функции greeting(), которая создает строку и выдает ее на экран. Здесь применяется конструкция docstring, сообщающая программисту основные сведения о вызываемом методе. В отличие от обычных комментариев, docstring, как правило, обрабатывается компилятором и помещается в полученный байт-код. Во время выполнения программы записанные ранее сведения можно вывести на экран с помощью метода __doc__.

В спецификации PEP 8 определены базовые рекомендации использования docstring. Согласно общепринятым нормам в комментариях к функциям Python, первая строка документации должна представлять собой лаконичную сводку о назначении объекта, начинаясь с прописной буквы и заканчиваясь точкой. Вторая строка обязана быть пустой, в то время как последующие абзацы могут содержать более подробное описание внутренних особенностей объекта, его характеристики, особенности вызова и сторонние эффекты.

Применение docstring в качестве комментария

Несмотря на отсутствие прямой возможности создавать в коде Python 3 многострочные комментарии, язык Python позволяет использовать инструмент docstring для их замены. Сделать это можно при помощи тройных кавычек, просто поместив в них нужный текст. Таким образом, создается многострочный литерал, который не принадлежит какому-либо объекту, а поэтому не играет никакой роли во время обработки программного кода компилятором. Следующий пример демонстрирует применение docstring в качестве многострочного примечания в коде.

# coding: utf-8 """ программа Hello World создает и выводит строку на экран """ # начало программы greeting = "Hello World!" # создаем строку print(greeting) # выводим строку на экран # конец программы

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

Если тройные кавычки будут помещены сразу же после объявления метода или класса, компилятор воспримет их не как комментарий, а как описание docstring.

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

Заключение

Комментарии в языке программирования Python используются для создания собственных пояснений к исходному коду программы. Это позволяет улучшить его понимание другими людьми в процессе командной работы над большими проектами. В языке предусмотрены только однострочные комментарии, однако при помощи текстовых блоков можно получить аналог многострочных комментариев. Для создания документации к отдельным функциям, методам, классам и модулям применяются конструкции docstring. Общепринятые правила документирования исходного кода подробно описаны в сборнике рекомендаций PEP 8.

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

В Python, для однострочных комментариев используется символ # . Но если нужно закомментировать большой блок кода, то приходится приписывать # в начале каждой строки. Это очень неудобно при отладке. Есть ли какая-то возможность использовать многострочные комментарии (аналог /* . */ из Си) в Python? UPD: Знаю, что различные IDE позволяют делать такие вещи автоматически, но хотелось бы более элегантного решения, не зависящего от средства редактирования кода и различных утилит.

Отслеживать
Dmitriy Simushev
задан 12 окт 2015 в 11:48
Dmitriy Simushev Dmitriy Simushev
17.9k 5 5 золотых знаков 48 48 серебряных знаков 85 85 бронзовых знаков
Как это сделать в VIM штатными средствами: stackoverflow.com/a/2561497
12 окт 2015 в 19:50

Мой вопрос сводится скорее к «как использовать многострочные комментарии в языке, где нет многострочных комментариев», а не к «как использовать редакторы кода для автоматического создания пачки однострочных комментариев»

13 окт 2015 в 11:16

5 ответов 5

Сортировка: Сброс на вариант по умолчанию

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

''' Это строковый литерал. Но здесь он используется как многострочный комментарий ''' 

Строковые литералы, заключенные в тройные кавычки, могут содержать:

  • кавычки ( » )
  • апострофы ( ‘ )
  • docstring комментарии ( «»»func desc»»» )
  • переводы строк

В тоже время, стоит помнить, что такой строковый литерал не должен содержать внутри символов »’ . Это требование аналогично запрету на последовательность символов */ внутри многострочного комментария Си.

Кстати, этот же хак, предлагает использовать создатель языка Python в одном из своих твитов.

В тоже время, как верно отметил @jfs, руководство по стилю кода (pep-8) рекомендует использовать # для блочных комментариев.

Отслеживать
ответ дан 12 окт 2015 в 11:48
Dmitriy Simushev Dmitriy Simushev
17.9k 5 5 золотых знаков 48 48 серебряных знаков 85 85 бронзовых знаков
Действительно, это способ описан во всех (или почти всех) книгах о Python
12 окт 2015 в 12:11

Руководство по стилю кода (pep-8) рекомендует использовать # для блочных комментариев.

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

Один из явных признаков неумелого программирования — это наличие закомментированных фрагментов кода. Используйте систему контроля версий и/или ваше IDE, чтобы временно убрать/закомментировать код при отладке. Настройте ваше окружение, чтобы вы могли это делать не задумываясь, нажимая пару клавиш.

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

Закомментированный код не должен добавляться в систему контроля версий, поэтому для временных изменений, которые не переживут одну сессию редактирования кода, один клавишный аккорд (например, M-; в Emacs), как правило, достаточен, чтобы закомментировать/раскомментировать кусок кода.

«»»multiline string literal»»» не является многострочным комментарием в Питоне. Это просто строковая константа, которая позволяет использовать буквальные символы новой строки без экранирования (такого как \n ). Часто используется для описаний модулей, классов, функций/методов прямо в коде:

>>> def f(): . """abc""" . >>> f.__doc__ 'abc' 

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

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

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