尽管已经阅读了PEP8关于评论主题的内容,但我仍然想知道如何最好地评论Python中的单行代码。
当所讨论的代码行(非常)很短时,给出的示例很好:
x = x + 1 # Compensate for border
但如果行或评论更长,则事情变得更加困难。例如:
import numpy as np
import matplotlib.pyplot as plt
a = np.random.random([3, 3])
b = np.random.random([3, 3])
coords = zip(a.ravel(), b.ravel()) # match elements of a with elements of b ignoring shape
plt.scatter(*zip(*coords))
评论相当长,代码行也是如此,使得整个事情比可接受的行长更长。
我通常会将评论置于行上方,但不清楚评论是否适用于plt
行:
# match elements of a with elements of b ignoring shape
coords = zip(a.ravel(), b.ravel())
plt.scatter(*zip(*coords))
我倾向于通过在两行之间插入换行来解决这个问题:
# match elements of a with elements of b ignoring shape
coords = zip(a.ravel(), b.ravel())
plt.scatter(*zip(*coords))
我也做过这件事,但似乎有点过分了:
"""
match elements of a with elements
of b ignoring shape
"""
# ================================
coords = zip(a.ravel(), b.ravel())
# ================================
plt.scatter(*zip(*coords))
有没有可以接受的方法呢?
答案 0 :(得分:0)
我似乎最看重的风格是将评论放在上面一行。在大多数情况下,阅读代码的人将了解记录的行为何时结束。如果不清楚引用行下面的代码是什么,也许它也需要评论。
我也会尝试凝结我的评论。而不是:
# match elements of a with elements of b ignoring shape
coords = zip(a.ravel(), b.ravel())
我会写:
coords = zip(a.ravel(), b.ravel()) # match elements of a and b, ignore shape
这对于PEP8来说足够短。虽然使用较长的行可能无法做到这一点。