仅显示代码即可最好地解释该问题:
a = True
b = True
while True:
"""
A
"""
if a == True:
pass
"""
B
"""
elif b == True:
pass
问题是“elif b”处存在语法错误,但删除注释后问题就消失了。我尝试删除注释上的缩进,这导致“A”之后的结束注释行出现预期的缩进。我知道我可以改用“#”来注释部分,尽管“””使事情变得更清晰并且对于大块来说更方便。也许我错过了一些明显的东西,我将不胜感激任何帮助。
最佳答案
字符串文字不是注释。有时你可以假装它们是评论,但它们不是,而且它们不是的事实最终让你感到痛苦。
elif
必须立即出现在与前面的 if
或 elif
关联的 block 末尾之后。中间可以有注释和空格,但不能有语句,并且字符串也算在内。使用真实的注释,带有 #
。
如果您真的想继续假装字符串是注释,您可以将 B 字符串缩进 if
的正文中,但它不会与它旨在作为注释的 block ,并且您将不得不不断地修改格式以修补注释和字符串文字之间的差异。
关于python - 注释 block /缩进干扰代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50302546/