python多行注释缩进

时间:2016-06-29 11:41:28

标签: python pep

我有一个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的情况下缩进评论?

2 个答案:

答案 0 :(得分:4)

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

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

作为一般规则,你必须越少评论(明确的代码不需要或很少评论)。

有关放置评论的位置的更一般性答案,特别是多行评论:

  1. 在评论项目之前有评论是大多数python用户所期望的,因此对于大多数人而言"更具可读性"

  2. 它还使代码编辑更容易(您不会将评论与代码混合在一起,您也不必维护评论缩进等)。

  3. 如果它是您自己的个人项目,并且您没有计划分享它或让其他人工作,那么您(希望)可以自由地使用任何编码风格/惯例,pep08不是宗教信仰,但如果其他人不得不处理你的代码,他肯定会讨厌你这样评论。

答案 1 :(得分:0)

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

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