我最近在Python(numpy)中编写了一个方法,可以在单个元素上执行操作,也可以在数组上执行元素操作。Python中重载参数的命名约定
例如:
i
这里可以是一个单一的指数,或它们的阵列,这使得描述性命名它困难。
而且,在更一般的情况下,一个名称应该如何重载可以有很大不同含义的参数?这里有一个(虚构的)例子:
def doTheThing(flag, item):
if(flag == 0):
useOneWay(item)
else:
useTotallyOtherWay(item)
如果item
代表在这里两个完全不同的事情,这取决于flag
,究竟应该如何命名?
有两个带默认值的命名参数会更好吗?例如
def doTheThing(flag, item1=None, item2=None):
也许这样的情景即将到来本身就是不好的编程实践的指示,和最好的解决办法是重新分解成不同的方法来处理各种情况。
基本上,是否有一个Python命名约定在这里给出了方向?在PEP8中我找不到任何特别引用参数过载的东西。
为了尽量保持这个主题并且不加评论,请在您的答案中引用一些有信誉的源代码(PEP8或Python中的其他大名)。然而,我很乐意在评论中听到个人意见。
如果它只有两个变体,我将它命名为例如'carOrCarList'我不喜欢打电话给'item',除非它真的是通用的。始终在尽可能最小的范围内命名变量。 如果它会超过两个(或三个)变体,请使用通用名称(如项目),并在注释中描述它可能是什么。 –