對於密切相關的形式參數的功能,如參數命名約定在Python
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瀏覽),但找不到明確的答案。 (在這樣類似的問題,我發現包括: Naming practice for optional argument in python function 和 In Python, what's the best way to avoid using the same name for a __init__ argument and an instance variable?)
「,而第二種方法不可能混淆兩個函數中的參數。」你能舉出一個你擔心的混亂的例子嗎? –
在這些情況下,沒有太多的機會讓它們混在一起(也許這通常是真的......)我想我更多地使用與變量參數相同的名稱,這可能不是一個好主意。 –