次のような、密接に関連する仮パラメーターを持つ関数の場合
def add_two_numbers(n1, n2):
return n1 + n2
def multiply_two_numbers(n1, n2):
return n1 * n2
上記のように、両方の関数のパラメーターに同じ名前を付けるのは良い考えですか?
別の方法は、関数の 1 つでパラメーターの名前を変更することです。例えば:
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)
それ以外の場合、2 番目の関数の引数を変更すると、次のようになります。
def do_a_count(s1, s2):
print "Counting first and second steps..."
print count(s1, s2)
繰り返しますが、どの方法が最適かについては少しわかりません。同じパラメーター名を維持すると、2 つの関数間の関係がより明確になりますが、2 つ目の方法は、2 つの関数でパラメーターを混同する可能性がないことを意味します。
私は少し検索しましたが (PEP-8 のスキミングを含む)、決定的な答えを見つけることができませんでした。(私が見つけたSOに関する同様の質問には 、Python関数のオプション引数の命名方法 と Pythonでは、 __init__ 引数とインスタンス変数に同じ名前を使用しないようにする最善の方法は何ですか?が含まれていました。 )