对于形式参数密切相关的函数,例如
def add_two_numbers(n1, n2):
return n1 + n2
def multiply_two_numbers(n1, n2):
return n1 * n2
如上所示,为两个函数中的参数指定相同的名称是个好主意吗?
另一种方法是重命名其中一个函数中的参数。例如:
def add_two_numbers(num1, num2):
return num1 + num2
在两个函数中保持它们相同看起来更一致,因为每个函数采用的参数是相似的,但这是否更令人困惑?
同样,对于下面的例子,哪个更好?
def count(steps1, steps2):
a = 0
b = 0
for i in range(steps1):
a += 1
for j in range(steps2):
b += 1
return a, b
def do_a_count(steps1, steps2):
print "Counting first and second steps..."
print count(steps1, steps2)
否则,更改第二个函数中的参数会得到:
def do_a_count(s1, s2):
print "Counting first and second steps..."
print count(s1, s2)
同样,我有点不确定哪种方式最好。保持相同的参数名称可以使两个函数之间的关系更加清晰,而第二个意味着两个函数中的参数不会混淆。
我做了一些搜索(包括浏览 PEP-8),但找不到明确的答案。 (我发现的类似问题包括:python函数中可选参数的命名实践 https://stackoverflow.com/questions/5369576/naming-practice-for-optional-argument-in-python-function
and
在 Python 中,避免 __init__ 参数和实例变量使用相同名称的最佳方法是什么? https://stackoverflow.com/questions/5821387/in-python-whats-the-best-way-to-avoid-using-the-same-name-for-a-init-argum)