太奇怪了,不是吗?违规代码:
def main():
"""
main function
"""
# Argument handling
args = sys.argv[1:]
if not args:
print "usage is: ...
第三个引用是我得到通常缩进错误的地方:
>>>Import someScript
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "someScript.py", line 24
"""
^
如果我删除了注释(显然我不想),那么下一个要定义的函数将在其注释的同一位置获得相同的错误。如果我从函数中删除所有注释,错误就会消失。
我不明白!为什么会在那里看到缩进?我在Komodo Edit中写作,部分原因是它不允许混合空格和制表符,但只是为了确保我做了一个搜索,并且,果然,没有可怕的制表符。如果有的话,那就没什么意义了。
给了什么,大师?
如前所述,docstring没有缩进。最好是在字符串的第一行出现错误,但这不是lexer当前的工作方式。取而代之的是,它一次需要一个完整的标记(记住,三重引用的字符串意味着行跨越),然后如果它被错误地引用,就会发出一个错误。这个符号是整个三引号字符串,它恰好以另一行结尾。比较:
请注意,在第二个示例中,它如何指向“foo”的结尾,即错误语句中的第一个符号:这与指向docstring的结尾相同。
您需要将docstring与函数的块缩进。
每个冒号(
:
)后面必须紧跟缩进的块。相关问题 更多 >
编程相关推荐