Python序列命名约定

2024-04-20 12:13:33 发布

您现在位置:Python中文网/ 问答频道 /正文

由于python中没有显式的类型,所以我希望能够使用命名约定来区分序列和非序列。我用python编程已经有一段时间了,但是我仍然没有找到任何逻辑/实用的方法来命名序列。当然,我浏览了著名的PEP8,并在google上做了一些研究,似乎公认的惯例是在变量名的末尾加上字母“s”。在

假设我们有一个“weight values”序列,因此序列的变量名应该是weights。到目前为止,这还可以,但是在某些情况下,有些单词以“s”结尾,而这恰好是命名一个不是序列的变量更符合逻辑的方式。或者假设你把权重序列本身存储到一个序列中。“s”命名约定将变量命名为weightss,这很难看。我相信有一个更好的序列命名约定。在

你建议什么样的序列命名规则?在


Tags: 方法类型编程google字母序列逻辑命名
3条回答

The "s" naming convention would name the variable weightss, which is ugly. I am sure there is be a better naming convention for sequences.

我认为你所描述的约定应该被解释为“每当你有一个列表,通过把它复数化来明确它是一个列表”。例如,如果您有一个grass实例的列表,则将其称为grasses,而不是grasss。我不认为它应该像你所说的那样被理解。在

政治公众人物总是建议你采取自己的方法,如果这是更可读和有用的。正如{a1},政治公众人物的指导原则之一就是你不应该成为愚蠢的一致性的牺牲品。在

一般来说,避免这种行为。来自PEP8的通知

A Foolish Consistency is the Hobgoblin of Little Minds

这正是调用变量weightss所要做的。所以一般来说,让你的变量来描述它们是什么,而不是根据一些命名惯例:

weights = [44, 66, 88]
weight_groups = [[44, 66, 88], ...]

等等

PEP8的同一部分:

But most importantly: know when to be inconsistent -- sometimes the style guide just doesn't apply. When in doubt, use your best judgment. Look at other examples and decide what looks best. And don't hesitate to ask!

无论你的小心想要什么。。。。在

开玩笑,但我不会挂断电话的。如果它很难看,请执行一些操作使其更具可读性,例如seq_weight和{}

相关问题 更多 >