69

这不起作用:

something = \
    line_of_code * \    #  Comment
    another_line_of_code * \    #  Comment
    and_another_one * \         #  Comment
    etc

这也不是:

something = \
    #  Comment \
    line_of_code * \
    #  Comment \
    another_line_of_code * ...

这也不是:

something = \
    ''' Comment ''' \
    line_of_code * \
    ''' Comment ''' \
    another_line_of_code * ...

有没有办法将代码中的注释分成多行?

4

2 回答 2

73

这样做:

a, b, c, d = range(1, 5)

result = (
    # First is 1
    a *
    # Then goes 2, result is 2 now
    b *
    # And then 3, result is 6
    c *
    # And 4, result should be 24
    d
)

实际上,根据 PEP8,当将某些内容分成多行时,括号优于斜杠:

包装长行的首选方法是在括号、方括号和大括号内使用 Python 的隐含行继续。通过将表达式括在括号中,可以将长行分成多行。这些应该优先使用反斜杠来继续行。

在您的情况下,它还允许发表评论。

这是一个证明,它有效:http: //ideone.com/FlccUJ

于 2013-07-13T14:08:14.097 回答
1

不确定python是否支持您尝试做的事情。阅读有关内联注释的 PEP8 部分。将注释放在续行的中间是“丑陋的”并且可能令人困惑。

如果您想评论某些内容或内联评论,则Python 方式#在每一行都将#被忽略。

如果你真的想评论一个真正有必要的多行语句,把它放在它之前或之后。

a, b, c, d = range(1, 5)
# a is ..., b is ...
# c is ..., d is ...
result = (a, b, c, d)

绝对不想陷入关于风格的争论,但仅仅因为你可以做某事并不意味着它是明确的。内联注释非常适合澄清只需要短指针的短代码行。

于 2013-07-13T14:10:06.043 回答