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 至少有一个优化,不在此处创建对象。)
我正在从事一个 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 至少有一个优化,不在此处创建对象。)