命名两个或多个相关Python变量的首选方法是什么?

时间:2018-05-15 16:41:41

标签: python

当我有几个论点时,我偶尔会发现自己在每个变量的末尾附加数字,但是我不能一直这样做,我想建立一个模式。

让我们说我有一个函数,它接受两个数字和一个数学运算的名称,然后它返回该运算的结果。

def do_math(input1, input2, operation):
    # perform the operation and return result

编辑:请不要挂在这个例子上。我的问题适用于变量名称,而不仅仅是函数,而不仅仅是操作数

我通常最终得到类似input1input2样式的内容,但由于Python使用从零开始的索引,因此感觉很奇怪。但input0input1似乎也不对。有时候(就像在Jupyter笔记本中)我从一个变量开始,比如var(只是一个例子,我通常更具描述性),然后最后添加另一个变量并称之为{{1}或者可能var1。当我在笔记本中对原型进行原型设计时,我通常认为它非常重要,然后返回并将var20添加到第一个变量名称,但最后我的名字确实不一致。

编辑2:根据要求添加更典型/更现实的示例:

1

我已经检查了整个网站以及各种风格指南,包括https://www.python.org/dev/peps/pep-0008/#function-and-variable-names,但似乎找不到这个问题的答案。很可能没有首选方法可以做到这一点,但我很乐意听取你对有意义的建议。我知道这可能取决于确切的情况,但我希望我可以使用一些一致的命名约定来避免混淆和重新分解线。

我考虑但不爱的其他方式:

bits0 = hash_to_binary(hash0) bits1 = hash_to_binary(hash1) distance = hamming_distance(bits0, bits1) var_0

列表,元组或自定义数据结构:var_1vars[0]

(这在使用大量值时显然是首选,但对于2来说似乎有点过分)

vars[1]first_var

我倾向于的风格:

为了涵盖我不希望需要第二个变量的情况,可以从second_var开始,然后在必要时添加var。这与Python索引一致,因此var1表示它是第二个实例变量。然后,在我比较Python中使用的ID,散列或其他单词的情况下,我可以将1id0id1hash0进行比较。< / p>

1 个答案:

答案 0 :(得分:-1)

我会以一种使它们不言自明的方式来命名变量。它使代码对其他任何人都更具可读性,并减少了对注释的需求。 对于数学运算,您可以使用简单的abxy