タプルなどの非キーワード引数と辞書などのキーワード引数を持つ関数を宣言すると、それらは宣言されますか?
例えば:
def someFunc(a, *nkw, **kwa):
nkwList = []
kwList = []
for i in nkw:
nkwList.append(i)
for j in kwa:
kwList.append(j)
print a, nkwList, kwList
入力:
someFunc(1)
出力:
1 [] []
ご覧のとおり、タプルとディクショナリを渡さなかったにもかかわらず、nkw と kwa をループしても Index out of range エラーは発生しませんでした。私の理解では、関数宣言自体に *nkw と **kwa が作成されていると思います。
この概念を理解するのを手伝ってくれる人はいますか?