【问题标题】:Indented comments in PythonPython中的缩进注释
【发布时间】:2025-12-24 03:20:50
【问题描述】:

我想知道这是错误的还是被认为是不好的做法或其他什么:

def my_fuction():
    """This function does something."""
    pass

my_function()  # Yes I could write a comment here
    # But sometimes I need more space and make it clear
    # that a comment belongs to a certain part of my code

如您所见,我在函数调用下方缩进了我的评论,以便为这个特定调用留下特定的指令/cmets。我缩进它是为了清楚地表明这个注释属于这个代码调用。 PyCharm 警告我,根据 PEP8,这是一个意外的缩进,但代码会执行。

这是不好的风格吗?有没有更好的做法来发表这种评论?

【问题讨论】:

  • 这是非常基于意见的,因为编译器会吞下它。 Pep8 只不过是指导方针——它不是法律。

标签: python coding-style pep8


【解决方案1】:

我相信这属于 Block Comments part of PEP0008 ,这建议 -

块 cmet 通常适用于它们后面的部分(或全部)代码,并且 缩进到与该代码相同的级别。 块注释的每一行都以 # 和一个空格开头(除非它是注释内的缩进文本)。

(强调我的)

我相信 cmets 的正确缩进应该是 -

# Yes I could write a comment here
# But sometimes I need more space and make it clear
# that a comment belongs to a certain part of my code
my_function()

在我看来,这比将第一个注释与函数调用放在同一行,其余的放在它下面要好。

【讨论】:

  • 谢谢。但我的意图是为函数的这个特定调用留下特定的 cmets/ 指令。
  • 哦,好吧,抱歉有点误解了这个问题,但我仍然认为它应该高于上面给出的函数调用。虽然 Like 在有问题的 cmets 中说过,PEP0008 不是法律,它只是一个指导方针,如果你想遵循它还是现在,它取决于你。