Символ решётки: правила написания комментариев в Python
Символ комментария в Python: использование символа #
Основным способом добавления комментария в Python является символ #. Все, что следует за этим символом до конца строки, игнорируется интерпретатором. Такой комментарий называется однострочным.
# Это комментарий
print('Привет') # Комментарий после кодасимвол комментария в python (символ комментария в python)
Привет
Комментарии служат для пояснения кода, временного отключения фрагментов или документирования логики программы.
Как закомментировать несколько строк?
Python не имеет специального синтаксиса для многострочных комментариев. Однако часто применяют тройные кавычки (''' или """). Строгая интерпретация: это строковый литерал, который не присваивается переменной, поэтому он игнорируется. Такой подход допустим, но официально рекомендуется использовать # для каждой строки.
'''
Это многострочный комментарий
Фактически это строка
'''
print('Код выполняется')
Код выполняется
Проблема: такой «комментарий» может быть случайно подхвачен как docstring, если стоит сразу после определения функции или класса.
Типичная ошибка:
def func():
'''Это docstring, а не комментарий'''
pass
print(func.__doc__)
Это docstring, а не комментарий
Если нужно именно закомментировать блок, лучше использовать # перед каждой строкой или комбинацию клавиш (например, Ctrl+/ в большинстве редакторов).
Как использовать символ # внутри строки?
Символ # внутри строкового литерала теряет своё специальное значение и воспринимается как обычный символ. Комментарий не начинается.
s = "Символ # не комментарий"
print(len(s))
25
Это часто путает новичков: строка, содержащая #, не комментирует остаток строки.
Как сделать комментарий в одну строку после кода?
Достаточно поставить пробел и #, затем текст. Рекомендуется отделять # двумя пробелами от кода.
x = 10 # Присваиваем значение
Такой приём полезен для кратких пояснений.
Возможные проблемы:
- Случайное комментирование кода, если забыть экранировать # в строке или регулярном выражении.
- Путаница между docstrings и многострочными комментариями: IDE может выделять тройные кавычки как строку, а не комментарий.
- Избыточные комментарии, которые не несут полезной информации (например, # увеличиваем i на 1 рядом с i+=1).
Расширенные примеры использования символа комментария
Ниже приведены различные сценарии с подробными пояснениями.
Однострочные комментарии в разных местах
# Комментарий в начале строки
print('Первая строка') # Пояснение после кода
# print('Отключённый код')
Первая строка
Комментирование блока с помощью #
# for i in range(5):
# print(i)
print('Цикл закомментирован')
Цикл закомментирован
Временное отключение кода с помощью #
# a = 10
# b = 20
c = 30
print(c)
30
Можно быстро закомментировать строки при отладке.
Использование """ (тройные кавычки) для многострочных строк-комментариев
"""
Этот блок не присвоен переменной,
поэтому интерпретатор его игнорирует.
"""
x = 5
# Следующая строка показывает, что __doc__ пуст
print(__doc__)
None
Обратите внимание: если такой блок стоит в начале модуля, он становится docstring модуля. Чтобы этого избежать, лучше ставить # перед каждой строкой.
Комментарии внутри f-строк (бесполезно, но демонстрация)
name = 'Анна'
# Внутри f-строки # не работает как комментарий
print(f"Привет, {name} # это не комментарий")
Привет, Анна # это не комментарий
Символ # интерпретируется как часть строки.
Комментарии в многострочных выражениях со скобками
result = (1 + 2
# + 3 # этот элемент временно отключен
+ 4)
print(result)
7
Внутри скобок можно размещать комментарии на отдельных строках.
Использование символа # в регулярных выражениях (с флагом re.VERBOSE)
import re
pattern = re.compile(r"""
\d+ # число
\s+ # пробелы
\w+ # слово
""", re.VERBOSE)
match = pattern.search('123 abc')
print(match.group())
123 abc
В режиме VERBOSE # внутри строки шаблона начинает комментарий до конца строки, но это особенность регулярных выражений, а не Python.