繁体   English   中英

Python 3.x多行注释会引发语法错误

[英]Python 3.x multi line comment throws syntax error

我正在研究一个Python项目,到目前为止,我的代码有超过400行。 有一次,我不得不写一个关于需要解决的小bug的多行注释,并且解释器决定抛出语法错误。

根据解释器,语法错误发生在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)

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

知道出了什么问题吗? 请注意,我上面显示的代码示例位于文件的最顶层 ,并且在其他地方没有任何出错的机会。

这是缩进错误。 您的“多行注释”(实际上是多行字符串)必须在if块下缩进,就像其他任何内容一样。

""" These kinds of things """在Python中并不是真正的评论。 你只是创建一个字符串,然后抛弃价值(不存储在任何地方)。 由于Python没有真正的多行注释,许多人以这种方式使用它们。 但是,由于它们不是真正的注释(解释器不会忽略它们),因此它们必须遵守所有正常的语法规则,包括缩进规则。

(请注意,当我说“创建一个字符串”时,我说的是松散的。至少CPython有一个优化,不在这里创建一个对象。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM