Недавно я начал изучать Python, но не смог найти, как реализовать многострочные комментарии. Большинство языков имеют символы комментариев блока, такие как
/*
*/
Я попробовал это в Python, но он выдает ошибку, поэтому это, вероятно, неверно. Есть ли у Python многострочная функция комментариев?
Вы можете использовать строки с тремя кавычками. Когда они не являются docstring (первая вещь в классе/функции/модуле), они игнорируются.
'''
This is a multiline
comment.
'''
(Удостоверьтесь в том, что в верхнем '''
необходимо отступать, чтобы избежать IndentationError
.)
Гвидо ван Россум (создатель Python) написал в твиттере этот в качестве "про совета".
Однако руководство по стилю Python, PEP8, поддерживает последовательные однострочные комментарии, и это также то, что вы найдете во многих проектах, Редакторы обычно имеют ярлык, чтобы сделать это легко.
test.py
чтобы увидеть. Когда я делаю import test
, test.pyc
файл test.pyc
. К сожалению, файл pyc
огромен и содержит всю строку в виде простого текста. Я что-то неправильно понимаю, или этот твит неверен?
pyc
. Я отредактировал ответ и поместил «модуль» в список вещей, в которых есть строки документации.
Python имеет многострочный синтаксис строки/комментария в том смысле, что, если он не используется как docstrings, многострочные строки не генерируют байт-код - точно так же, как #
-предоставляемые комментарии. По сути, он действует точно так же, как комментарий.
С другой стороны, если вы говорите, что это поведение должно быть документировано в официальном docs, чтобы быть истинным синтаксисом комментария, тогда да, вы были бы права сказать, что это не гарантированный как часть спецификации языка.
В любом случае ваш редактор должен также иметь возможность легко комментировать выбранные
(путем размещения a #
перед каждой линией отдельно). Если нет, переключитесь на
редактор, который делает.
Программирование на Python без определенных функций редактирования текста может быть болезненным опыт. Поиск правильного редактора (и знание того, как его использовать) может сделать большой разница в восприятии опыта программирования на Python.
Редактор не только должен комментировать выбранные регионы, он должен также иметь возможность легко перемещать блоки кода влево и вправо и автоматически наведите курсор на текущий уровень отступов, когда вы нажимаете Войти. Также может быть полезно сгибание кода.
Чтобы защитить от распада ссылок, вот содержание Guido van Rossum tweet:
@BSUCSClub Кончик Python: вы можете использовать многострочные строки в виде многострочных комментариев. Если они не используются как docstrings, они не генерируют никакого кода!: -)
Из принятого ответа...
Вы можете использовать строки с тремя кавычками. Когда они не являются 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
... на 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()
r'raw string'
- r'\xor' == '\\xor'
.
*/
как это, например, завершит блок.
В 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
"""
Надеюсь, это поможет!
AFAIK, Python не имеет комментариев блока. Для комментариев отдельных строк вы можете использовать символ #
.
Если вы используете Notepad++, есть ярлык для комментирования блоков. Я уверен, что другие, такие как gVim и Emacs, имеют аналогичные функции.
Я думаю, что это не так, за исключением того, что многострочная строка не обрабатывается. Однако большинство, если не все Python IDE имеют короткий ключ для "комментирования" нескольких строк кода.
Если вы добавили комментарий в
"""
long comment here
"""
в середине скрипта, python/linters не будут повторно распознавать это. Складывание будет испорчено, так как вышеупомянутый комментарий не является частью стандартных рекомендаций. Его лучше использовать
# long comment
# here.
Если вы используете vim
, вы можете плагины, такие как https://github.com/tpope/vim-commentary, автоматически комментировать длинные строки комментариев, нажав Vjgcc
. Где Vj
выбирает 2 строки кода, а gcc
замечает их.
Если вы не хотите использовать плагины, подобные приведенному выше, вы можете использовать поиск и замену как
:.,.+1s/^/#/g
.
Это заменит первый символ текущей и следующей строки на #
.
К сожалению, нить не всегда может использоваться для комментирования! Так что безопаснее придерживаться стандартного, добавляя каждую строку С#.
Вот пример:
test1 = [1, 2, 3, 4,] # test1 содержит 4 целых числа
test2 = [1, 2, '' '3, 4,' ''] # test2 содержит 2 целых числа и строку "3, 4",
Ну, вы можете попробовать это (при запуске цитируемого, вход в первый вопрос должен указываться с '
):
"""
print("What your name? ")
myName = input()
print("It nice to meet you " + myName)
print("Number of characters is ")
print(len(myName))
age = input("What your age? ")
print("You will be " + str(int(age)+1) + " next year.")
"""
a = input()
print(a)
print(a*5)
Все, что заключено между """
будет прокомментировано.
Если вы ищете однострочные комментарии, то это #
.
Как прокомментировать:
'''
Comment what you want here
'''
или же
"""
Comment what you want here
"""
На Python 2.7.13:
Не замужем:
"A sample single line comment "
Multiline:
"""
A sample
multiline comment
on PyCharm
"""
Нет такой функции многострочного комментария. # - единственный способ прокомментировать одну строку кода. Многие из вас ответили "" комментарий "" это как их решение. Хотя он работает, но внутренне '' 'в python берет строки, заключенные в регулярные строки, которые интерпретатор не игнорирует, как комментарий, используя #.
Выберите строки, которые вы хотите прокомментировать, а затем используйте "CTRL +?" комментировать или раскомментировать код Python в превосходном редакторе. Для одной строки вы можете использовать 'Shift + #'.
'' 'Многострочные комментарии начались ЗДЕСЬ
import tkinter as tk
root = tk.Tk()
w = tk.Label( text="Hello Tkinter")
logo = tk.PhotoImage(file="Python.PNG")
w1 = tk.Label(root, image=logo).pack(side="right")
explanation = """At Present, only GIF and PPM/PGM are supported but am
trying it with PNG. Interface does exit to allow image file to be added easily."""
w2 = tk.Label(root, justify=tk.LEFT,padx = 0, text=explanation).pack(side="left")
root.mainloop()
'' 'Многострочный комментарий заканчивается ЗДЕСЬ.. означает, что приведенный выше код не будет выполняться и является комментарием
Встроенные комментарии в 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)
Привет
Мир
Заключите текст в тройные двойные кавычки для поддержки строки документации.
def say_hello(name):
"""
This is docstring comment and
it support multi line.
:param name it your name
:type name str
"""
return "Hello " + name + '!'
print(say_hello("John"))
Привет Джон!
Заключите текст в тройные одинарные кавычки для блочных комментариев.
'''
I don't care the params and
docstrings here.
'''
Многострочный комментарий на самом деле не существует в Python. Приведенный ниже пример состоит из неназначенной строки, которая проверяется 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 + K ярлык в NotePad++
для блокировки комментариев, он добавляет #
перед каждой строкой под выделением. CTRL + SHIFT + K предназначены для раскомментирования блока.
Многострочный комментарий в Python: для меня оба "'" и "" работали
Пример:
a = 10
b = 20
c = a+b
'''
print ('hello')
'''
print ('Addition is : ',a+b)
Пример:
a = 10
b = 20
c = a+b
"""
print ('hello')
"""
print ('Addition is : ',a+b)
#
- единственный способ комментировать. Я предполагаю, что таким образом легче интерпретировать скрипты Python.