Способ создания многострочных комментариев на Python?

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

/* 

*/

Я попробовал это на Python, но это приводит к ошибке, так что это, вероятно, не правильный путь. Есть ли у Python функция многострочных комментариев??

Комментарии к вопросу (6)
Решение

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

'''
This is a multiline
comment.
'''

(Не забудьте сделать отступ для ведущего ' '' '' соответствующим образом, чтобы избежатьIndentationError`.)

Гвидо ван Россум (создатель Python) подписал это как «pro tip».

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

Комментарии (24)

Python имеет многострочный синтаксис строки / комментария в том смысле, что, если не используется в качестве docstrings, [многострочные строки не генерируют байт-код ](https://twitter.com/gvanrossum/status/11126706706706060605. По сути, он действует точно так же, как комментарий.

С другой стороны, если вы говорите, что такое поведение должно быть задокументировано в официальном docs - это настоящий синтаксис комментариев, тогда да, вы были бы правы, если бы это не так гарантируется как часть языковой спецификации.

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

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

Редактор должен не только комментировать выбранные регионы также уметь легко сдвигать блоки кода влево и вправо и должен автоматически поместите курсор на текущий уровень отступа при нажатии Войти. Склад кода также может быть полезен.


Чтобы защитить от затухания ссылок, вот содержание твит Гвидо ван Россума:

@BSUCSClub Совет Python: Вы можете использовать многострочные строки в качестве многострочных комментариев. Если они не используются в качестве документов, они не генерируют код! :-)

Комментарии (9)

Из принятого ответа...

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

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

Если вы попытаетесь запустить этот код...

def parse_token(token):
    """
    This function parses a token.
    TODO: write a decent docstring :-)
    """

    if token == '\\and':
        do_something()

    elif token == '\\or':
        do_something_else()

    elif token == '\\xor':
        '''
        Note that we still need to provide support for the deprecated
        token \xor. Hopefully we can drop support in libfoo 2.0.
        '''
        do_a_different_thing()

    else:
        raise ValueError

Вы получите либо...

ValueError: invalid \x escape

. на Python 2.x или..

SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 79-80: truncated \xXX escape

.on Python 3.x.. Единственный способ сделать многострочные комментарии, которые игнорируются синтаксическим анализатором...

elif token == '\\xor':
    # Note that we still need to provide support for the deprecated
    # token \xor. Hopefully we can drop support in libfoo 2.0.
    do_a_different_thing()
Комментарии (4)

В Python 2.7 многострочный комментарий:

"""
This is a
multilline comment
"""

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

Например:

class weather2():
   """
   def getStatus_code(self, url):
       world.url = url
       result = requests.get(url)
       return result.status_code
   """
Комментарии (3)

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

Если вы используете [Notepad ++][1], есть ярлык для комментирования блоков. Я уверен, что другие, такие как gVim и Emacs, имеют сходные функции.

[1]: https://en.wikipedia.org/wiki/Notepad ++

Комментарии (3)

Я думаю, что нет, за исключением того, что многострочная строка не обрабатывается. Однако большинство, если не все IDE Python, имеют короткий ключ для «комментирования» нескольких строк кода.

Комментарии (0)

Если вы введете комментарий

"""
long comment here
"""

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

# long comment
# here.

Если вы используете vim, вы можете подключаться к плагинам, таким как https://github.com/tpope/vim-commentary, чтобы автоматически комментировать длинные строки комментариев, нажимая Vjgcc. Где Vj выбирает 2 строки кода, а gcc комментирует их.

Если вы не хотите использовать плагины, как указано выше, вы можете использовать поиск и замену

:.,.+ 1 с / ^ / # / г.

Это заменит первый символ в текущей и следующей строке на #.

Комментарии (0)

Нет такой функции многострочного комментария. # это единственный способ прокомментировать одну строку кода. Многие из вас ответили «комментарий», это как их решение. Хотя это, кажется, работает, но внутренне '' 'в python принимает строки, заключенные в виде обычных строк, которые интерпретатор не игнорирует как комментарий, используя #.

Проверьте официальную документацию здесь

Комментарии (0)

К сожалению, строгификация не всегда может использоваться как комментирование! Поэтому безопаснее придерживаться стандарта, добавляющего каждую строку с #.

Вот пример:

test1 = [1, 2, 3, 4,]       # test1 contains 4 integers

test2 = [1, 2, '''3, 4,'''] # test2 contains 2 integers **and the string** '3, 4,'
Комментарии (0)

Ну, вы можете попробовать это (при запуске кавычки ввод к первому вопросу должен цитироваться с '):

"""
print("What's your name? ")
myName = input()
print("It's nice to meet you " + myName)
print("Number of characters is ")
print(len(myName))
age = input("What's your age? ")
print("You will be " + str(int(age)+1) + " next year.")

"""
a = input()
print(a)
print(a*5)

Все, что заключено между `" "" ", будет прокомментировано.

Если вы ищете однострочные комментарии, то это #.

Комментарии (0)

Встроенные комментарии в python начинаются с хэш-хаширования.

hello = "Hello!" # this is inline comment
print(hello)

Привет!

Обратите внимание, что хеш-символ в строковом литерале - это просто хеш-символ.

dial = "Dial #100 to make an emergency call."
print(dial)

Наберите № 100, чтобы сделать экстренный вызов.

Хеш-символ также можно использовать для комментариев одной или нескольких строк.

hello = "Hello"
world = "World"
# first print hello
# and print world
print(hello)
print(world)

Привет

Мир

Вложите текст с тройными двойными кавычками для поддержки docstring.

def say_hello(name):
    """
    This is docstring comment and
    it's support multi line.
    :param name it's your name
    :type name str
    """
    return "Hello " + name + '!'

print(say_hello("John"))

Привет Джон!

Вложите текст с тройными одинарными кавычками для комментариев блока.

'''
I don't care the params and
docstrings here.
'''
Комментарии (0)

Многострочный комментарий на Python: Для меня и '', и "" "работали

Ex:

a = 10
b = 20
c = a+b
'''
print ('hello')
'''
print ('Addition is : ',a+b)

Ex:

a = 10
b = 20
c = a+b
"""
print ('hello')
"""
print ('Addition is : ',a+b)
Комментарии (0)

На Python 2.7.13:

Single:

"A sample single line comment "

Multiline:

"""
A sample
multiline comment
on PyCharm
"""
Комментарии (2)

Да, хорошо использовать оба

«»
Комментарии
«»

а также

«»»
 Комментарии
«»»

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

Комментарии (0)

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

# This is comment 1
# This is comment 2 
# This is comment 3

Для написания «правильных» многострочных комментариев на Python следует использовать многострочные строки с синтаксисом "" " Python имеет функцию строк документации (или docstrings). Это дает программистам простой способ добавления быстрых заметок с каждым модулем Python, функцией, классом и методом.

'''
This is
multiline
comment
'''

Также упомяните, что вы можете получить доступ к docstring с помощью объекта класса, подобного этому

myobj.__doc__
Комментарии (0)

Я бы посоветовал не использовать `" "" "для многострочных комментариев!

Вот простой пример, чтобы выделить то, что можно считать неожиданным поведением:

print ('{{{{{{{{{}}}}}}}}} \ n {{{{{{{{{}}}}}}}}}'.format (
    «Я строка»
    «»»
    Некоторые люди считают меня
    многострочный комментарий, но
     «»»
    «Я тоже строка»
    )
)

Теперь взгляните на вывод:

Я строка

    Некоторые люди считают меня
    многострочный комментарий, но
     ясно, что я тоже строка

Так что случилось то, что многострочная строка не рассматривалась как комментарий, а объединялась с «явно я тоже строка», чтобы сформировать одну строку.

Если вы хотите прокомментировать несколько строк, сделайте это в соответствии с рекомендациями PEP8:

print ('{{{{{{{{{}}}}}}}}} \ n {{{{{{{{{}}}}}}}}}'.format (
    «Я строка»
    # Некоторые люди считают меня
    # многострочный комментарий, но
     «Я тоже строка»
    )
)

Вывод:

Я строка
ясно, что я тоже строка
Комментарии (0)

Среди других ответов я считаю, что самый простой способ - использовать функции комментариев IDE, которые используют поддержку комментариев python #

Я использую Anaconda Spyder, и у него есть :-

Ctrl + 1 - Комментарий / комментарий Ctrl + 4 - Комментарий блока кода Ctrl + 5

  • Откомментируйте блок кода

Это прокомментирует / откомментирует одну / несколько строк / s кода с #.

Я нахожу это самым простым.

Например. блок-комментарий

# =============================================================================
#     Sample Commented code in spyder
#  Hello World !
# =============================================================================
Комментарии (0)

Использование PyCharm IDE .

Вы можете комментарий и отказ строки кода, используя Ctrl + /. Ctrl + / комментирует или раскомментирует текущую строку или несколько выбранных строк комментариями в одной строке ({# в шаблонах Django или # в скриптах Python) . Нажмите Ctrl + Shift + / для выбранного блока исходного кода в шаблоне Django, который окружает блок тегами {% comment%} и {% endcomment%}.


n = 5
while n > 0:
    n -= 1
    if n == 2:
        break
    print(n)

print("Loop ended.")
  • Выберите все строки, затем нажмите ** Ctrl + / < / kbd > ***
# n = 5
# while n > 0:
#     n -= 1
#     if n == 2:
#         break
#     print(n)

# print("Loop ended.")
Комментарии (0)

Многострочный комментарий на самом деле не существует в питоне. Приведенный ниже пример состоит из неназначенной строки, которая проверяется Python на синтаксические ошибки. Немногие текстовые редакторы, такие как «NotePad ++», предоставляют нам ярлыки для комментариев к написанному фрагменту кода или слов

def foo():
    "This is a doc string."
    # A single line comment
    """
       This 
       is a multiline
       comment/String
    """
    """
    print "This is a sample foo function"
    print "This function has no arguments"
    """
    return True

Кроме того, CTRL < / kbd > + K < / kbd > ярлык в Notepad ++ для блокировки комментария добавляет # перед каждой строкой под выбором. CTRL < / kbd > + SHIFT < / kbd > + K < / kbd > для блочного раскоммента.

Комментарии (0)

VS Code универсальный официальный многострочный комментарий. & Лт; br >

macOS: выберите блок кода, затем ⌘ < / kbd > + / < / kbd > & Лт; br >

Windows: выберите блок кода, затем Ctrl < / kbd > + / < / kbd >

Комментарии (0)