来自python中的注释的IndentationError

Sli*_*Jim 8 python comments indentation

为什么python会对评论的缩进做出反应?

def foo():
    """
    Random comment
    """
    return True
Run Code Online (Sandbox Code Playgroud)

有效,但是:

def foo():
"""
Random comment
"""
    return True
Run Code Online (Sandbox Code Playgroud)

不起作用,抛出IndentationError.

对我来说似乎很奇怪,因为评论不应该只是评论.顺便说一下,这有效:

def foo():
# Another random comment
    return True
Run Code Online (Sandbox Code Playgroud)

Mar*_*ers 14

tripple引用的字符串不是评论; 它是方法的文档字符串.foo.__doc__例如,您可以稍后访问它,或者为您格式化它help(foo).Tripple-quoting("""''')是一种特定于python的方法,用于指定不需要转义换行符的字符串文字.

因此,它是函数体的一部分,因此需要缩进以匹配.实际上,任何作为函数第一个语句出现的字符串都被视为文档字符串,单引号也可以.同样的技巧也适用于类和模块.

很多工具都可以使用这个文档字符串; 例如,您可以在此信息中嵌入doctest测试.有关格式化此字符串的约定,请参阅PEP 257.

另一方面,注释总是用a表示#(不是字符串文字的一部分),并且在行的末尾被忽略.如果包含的所有行都是注释,则忽略整行,就像只有空格的行一样.请参阅有关注释文档.

  • 你应该在Python中添加注释只能以`#`开头而不是别的. (2认同)