Python
Как сделать многострочный комментарий в Питоне: решетка, тройные кавычки и docstring
В Питоне настоящий комментарий начинается с символа #. Если нужно закомментировать несколько строк, обычно перед каждой строкой ставят #. Тройные кавычки часто называют многострочным комментарием, но технически это строка, а не комментарий
Для новичка это важный момент: тройные кавычки иногда работают как временное отключение кода, но не стоит использовать их как универсальную замену комментариям
Короткий ответ
Правильный многострочный комментарий через #
# Этот блок считает сумму
# Сначала задаем числа
# Потом выводим результат
a = 10
b = 20
print(a + b)
Если нужно временно отключить несколько строк кода, тоже можно поставить #
print("Эта строка выполнится")
# print("Эта строка временно отключена")
# print("И эта тоже")
print("Программа продолжает работу")
Как быстро закомментировать несколько строк в редакторе
В большинстве редакторов есть горячая клавиша, которая добавляет # к выбранным строкам
В VS Code обычно работает:
Ctrl + /
На macOS:
Command + /
Выделите несколько строк и нажмите сочетание. Редактор сам поставит или уберет #
Что такое тройные кавычки
В Python тройные кавычки создают многострочную строку
text = """
Это строка
в несколько строк
"""
print(text)
Если написать такую строку отдельно, она может выглядеть как комментарий
"""
Этот блок похож на комментарий
Но технически это строка
"""
print("Код работает")
В простом скрипте такая строка часто никак не влияет на результат, поэтому многие называют ее многострочным комментарием. Но это не совсем точно
Почему тройные кавычки могут мешать
Строка в тройных кавычках все равно является объектом Python. Обычно интерпретатор просто не использует ее, если она стоит отдельно. Но в некоторых местах такая строка становится docstring или занимает память в байткоде
Например, в начале функции тройная строка превращается в документацию функции
def add(a, b):
"""
Возвращает сумму двух чисел
"""
return a + b
Это уже не комментарий, а docstring. Его можно получить через add.__doc__
Когда использовать docstring
Docstring нужен, чтобы объяснить, что делает функция, класс или модуль
def calculate_discount(price, percent):
"""
Возвращает цену после скидки
price — исходная цена
percent — процент скидки
"""
return price - price * percent / 100
Такой текст полезен, если функция будет использоваться повторно. Для временного отключения строк docstring не нужен
Как временно отключить кусок кода
Допустим, вы проверяете программу и хотите временно убрать часть вывода
print("Начало")
# print("Промежуточная проверка 1")
# print("Промежуточная проверка 2")
# print("Промежуточная проверка 3")
print("Конец")
Это безопаснее, чем оборачивать код в тройные кавычки. Особенно если внутри кода уже есть строки, кавычки или сложные выражения
Мини-практика
Создайте файл comments_demo.py, напишите три строки print(), затем закомментируйте вторую и третью строку через #. Запустите файл и проверьте, что в консоли выводится только первая строка
После этого выделите строки в редакторе и попробуйте горячую клавишу комментария. Это быстрее, чем руками ставить # в каждой строке
Частые ошибки
Ошибка первая: считать тройные кавычки полноценным комментарием. Это строка, которая в некоторых местах становится docstring
Ошибка вторая: ставить # только перед первой строкой и ждать, что остальные строки тоже отключатся
Ошибка третья: использовать комментарии вместо понятных имен переменных. Комментарий помогает, но не должен объяснять совсем непонятный код
Ошибка четвертая: оставлять в готовом коде огромные отключенные блоки. Если код больше не нужен, лучше удалить его и сохранить изменения в системе контроля версий
Что почитать дальше по Python
Если нужен общий маршрут по теме, откройте рубрику Python. Для соседних задач пригодятся эти разборы:
- Как закомментировать несколько строк в Python: #, горячие клавиши и тройные кавычки
- Как сделать калькулятор на Питоне: простой код для начинающих
- Python: с чего начать — путеводитель для новичков
- Как из списка сделать строку в Python: join, map и частые ошибки