python 多行注释缩进

python multiline comment indent

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

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

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

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

,但我更喜欢第一个。

有没有办法在不违反 PEP 的情况下缩进评论?

此问题与 this question
重复 您也可以像这样使用多行注释。

"""
This is how yo can use Python Multi-line Comments
Line two is here.
Line three is here.
"""

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

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

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

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

  1. 大多数 python 用户期望在评论项之前有评论,所以对于大多数人来说 "more readable"

  2. 它也使代码编辑更容易(您没有将注释与代码混合,您不必维护注释缩进等)。

如果这是您自己的个人项目并且您不打算分享它或让其他人参与其中,您(希望)可以自由使用任何编码风格/约定,pep08 不是宗教,但如果其他人曾经必须处理您的代码,他肯定会讨厌您以这种方式发表评论。