我的Python代码如下所示:
'''
a) comments
'''
try:
do_stuff()
'''
b) comments
'''
except Error:
do_stuff()
但它抱怨说(b)注释是语法错误 - 它迫使我这样缩进:
'''
a) comments
'''
try:
do_stuff()
'''
b) comments
'''
except Error:
do_stuff()
为什么会这样,我该如何解决这个问题?我希望(b)评论与他们描述的“除外”声明处于同一水平。
由于
答案 0 :(得分:3)
三重引号实际上是字符串,而不是注释。
所以你需要相应地缩进字符串,(因为每个冒号(:
)必须紧跟一个缩进的块)
答案 1 :(得分:2)
通常,三重引号用于多行字符串或docstrings,它们仅出现在您正在记录的函数/类/模块的开头。
如果不编写文档字符串,我建议您使用普通的注释语法:
# this is a comment
此外,如果您想要文档字符串,则约定规定您使用三重双引号:"""
,而不是'''
答案 2 :(得分:0)
首先,它不是评论,而是字符串,所以你真正想做的是不同的。缩进和dedent就像在其他一些语言中打开和关闭括号,所以你真正在做什么(用类似PHP的语法):
try {
$some_string = 'a) comments';
do_stuff();
} // notice closing bracket, which works like decreased indent
$some_string = 'b) comments';
catch (Error $e) {
do_stuff();
}
请尝试使用真实评论:
# a) comments
try:
do_stuff()
# b) comments
except Error:
do_stuff()