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
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()
29
不幸的是,字符串化 not always 可以用作评论!因此,坚持标准在每行前面加上#是更安全的 .
这是一个例子:
test1 = [1,2,3,4,]#test1包含4个整数
test2 = [1,2,'''3, 4,'''] #test2包含2个整数 and the string '3, 4,'
10
您可以使用三引号字符串 . 当它们不是文档字符串(类/函数/模块中的第一件事)时,它们将被忽略 .
'''
This is a multiline
comment.
'''
(确保适当缩进前导 ''' 以避免 IndentationError . )
Guido van Rossum(Python的创建者)tweeted this作为"pro tip" .
"""
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 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
"""
14 回答
AFAIK,Python没有块注释 . 要评论单个行,可以使用
#
字符 .如果您使用Notepad++,there is a shortcut for block commenting . 我敢肯定像gVim和Emacs这样的人有类似的功能 .
如何评论:
要么
如果你发表评论
在脚本中间,python / linters不会重新识别它 . 折叠将被搞砸,因为上述评论不是标准建议的一部分 . 它更好用
如果您使用
vim
,则可以使用https://github.com/tpope/vim-commentary这样的插件,通过按Vjgcc
自动注释掉长行注释 . 其中Vj
选择2行代码,gcc
注释掉它们 .如果您不想使用上面的插件,您可以使用搜索和替换之类的
:.,.+1s/^/# /g
.这将用
#
替换当前和下一行的第一个字符 .在Python 2.7.13上:
单:
多行:
多行评论没有这样的特征 . #是评论单行代码的唯一方法 . 很多人回答'''评论''这是他们的解决方案 . 虽然它似乎工作但在python中内部'''将包含的行作为常规字符串,解释器不会忽略使用#的注释 .
Check official documentation here
python中实际上不存在多行注释 . 下面的示例包含一个未分配的字符串,由Python验证语法错误 . 像
NotePad++
这样的文本编辑很少为我们提供评论书面代码或文字的快捷方式另外,CTRL K是
Notepad++
中的一个快捷方式来阻止评论,它会在选择下的每一行前面添加一个#
. CTRL SHIFT K用于阻止取消注释 .从接受的答案......
这是不正确的 . 与注释不同,三引号字符串仍然被解析,并且必须在语法上有效,无论它们出现在源代码中的何处 .
如果您尝试运行此代码...
你会得到......
...在Python 2.x或...上
...在Python 3.x上 .
进行解析器忽略的多行注释的唯一方法是......
不幸的是,字符串化 not always 可以用作评论!因此,坚持标准在每行前面加上#是更安全的 .
这是一个例子:
test1 = [1,2,3,4,]#test1包含4个整数
test2 = [1,2,'''3, 4,'''] #test2包含2个整数 and the string '3, 4,'
您可以使用三引号字符串 . 当它们不是文档字符串(类/函数/模块中的第一件事)时,它们将被忽略 .
(确保适当缩进前导
'''
以避免IndentationError
. )Guido van Rossum(Python的创建者)tweeted this作为"pro tip" .
但是,Python的样式指南,PEP8,favors using consecutive single-line comments,这也是许多项目中的内容 . 编辑通常有一个快捷方式来轻松完成这项工作 .
Python确实有multiline string/comment syntax,除非用作文档字符串,multiline strings generate no bytecode - 就像
#
-prepended评论一样 . 实际上,它的行为与评论完全相同 .另一方面,如果你说这个行为必须在官方文档中记录为真正的注释语法,那么是的,你说这不是作为语言规范的一部分保证是正确的 .
在任何情况下,您的编辑器也应该能够轻松地注释掉所选区域(通过在每条线的前面放置一个
#
) . 如果没有,请切换到可执行的编辑器 .没有特定文本编辑功能的Python编程可能是一种痛苦的经历 . 找到正确的编辑器(并知道如何使用它)可以对Python编程体验的感知方式产生重大影响 .
编辑器不仅能够注释掉所选区域,而且还应该能够轻松地向左右移动代码块,并且当您按Enter键时应自动将光标置于当前缩进级别 . 代码折叠也很有用 .
为了防止链接衰减,这里是Guido van Rossum's tweet的内容:
好吧,你可以尝试这个(当运行引用时,第一个问题的输入应该引用
'
):无论
"""
之间的任何内容都会被评论 .如果您正在寻找单行评论,那么它是
#
.在Python 2.7中,多行注释是:
如果你在课堂上,你应该正确地选中它 .
例如:
我希望它有所帮助!
我认为它没有,除了不处理多行字符串 . 但是,大多数(如果不是全部)Python IDE都有一个用于“注释掉”多行代码的快捷键 .
Python中的多行注释:对我来说,'''和“”都有效