Python 3.x 多行注释抛出语法错误

Python 3.x multi line comment throws syntax error

我正在从事一个 Python 项目,截至目前,我的代码已超过 400 行。有一次,我不得不针对一个需要解决的小错误编写多行注释,解释器决定抛出一个语法错误。

根据解释器,语法错误发生在 elif。 我重新检查了我的缩进,将制表符转换为空格等。似乎没有任何效果。

                    if some_condition_1 == True:
                       do_something()

                    """
                    Sub stage (b):
                    Refer documentation [1.7A] for ...
                    ....
                    ....
                    ....
                    """
                    elif condition_1 == True:
                        if condition_2 == False:
                            list.append(item)

但是,如果我删除多行注释,代码执行正常。

知道出了什么问题吗?请注意,我上面显示的代码示例位于文件的 最顶部 ,其他地方不会出现任何错误。

这是一个缩进错误。您的 "multi-line comment"(真正的多行字符串)必须像其他任何内容一样在 if 块下缩进。

""" These kinds of things """ 并不是 Python 中的真正注释。您只是创建一个字符串,然后丢弃该值(不将其存储在任何地方)。由于 Python 没有真正的多行注释,所以很多人都是这样使用的。然而,由于它们不是真正的注释(它们不会被解释器忽略),它们必须遵守所有正常的语法规则,包括缩进规则。

(请注意,当我说 "creating a string" 时,我说的很笼统。CPython 至少有一个优化,不在此处创建对象。)