关于PEP:python多行注释缩进

python multiline comment indent

我有一个Django项目,在某些地方我们有多行注释缩进如下:

1
2
3
field = models.IntegerField(default=0, null=True)  # 0-initial_email_sent
                                                   # 1-second_email_sent
                                                   # 2-third_email_sent

这显然违反了PEP,但在我看来,这有助于提高可读性。当然,我可以这样评论:

1
2
3
4
# 0-initial_email_sent
# 1-second_email_sent
# 2-third_email_sent
field = models.IntegerField(default=0, null=True)

但是我更喜欢第一个。

是否有任何方法可以在不违反PEP的情况下缩进评论?


幻数是邪恶的,所以这里最好的文档是使用命名(伪)常量:

1
2
3
4
INITIAL_EMAIL_SENT = 0
SECOND_EMAIL_SENT = 1
THIRD_EMAIL_SENT = 2
field = models.IntegerField(default=INITIAL_EMAIL_SENT, null=True)

一般来说,评论越少越好(清晰的代码不需要或很少的评论)。

有关在何处放置注释的更一般的答案,特别是多行注释:

  • 在注释项之前添加注释是大多数python用户所期望的,因此对于大多数人来说,它是"更可读的"

  • 它还使代码编辑更容易(您不需要将注释与代码混合,也不需要维护注释缩进等)。

  • 如果这是你自己的个人项目,而你不打算分享它或者让其他人来做它,你(希望)可以自由使用任何编码风格/惯例,PEP08不是一种宗教信仰,但是如果有其他人必须在你的代码上工作,他肯定会讨厌你这样评论。


    这个问题是这个问题的副本您也可以使用这样的多行注释。

    1
    2
    3
    4
    5
    """
    This is how yo can use Python Multi-line Comments
    Line two is here.
    Line three is here.
    """