可変長引数とか。
コードと選択肢は以下になります。
1 2 3 4 |
def kahen(teacher, *mentor): print(teacher) kahen('Noro', 'Nakao', 'Miyaoka') |
1 | (‘Noro’, ‘Nakao’) |
2 | (‘Noro’, ‘Nakao’, ‘Miyaoka’) |
3 | Errorとなる。 |
4 | Noro |
実行結果
4 | Noro |
メモ
kahenの引数で「teacher,*mentor」となっていますね。
*が入っているので引数の数が呼び出し元と一致していなくても今回の場合、
エラーになりません。呼び出し元の最初の「Noro」が「teacher」へ格納され、「Nakao,Miyaoka」が「*mentor」へと格納されます。
仮に以下のような呼び出し元だった場合
「kahen(‘abcde’,’Noro’, ‘Nakao’, ‘Miyaoka’)」
「abcde」が「teacher」へ格納され、「Noro,Nakao,Miyaoka」が「*mentor」へと格納されます。
あ、関数で「def kahen(teacher, *mentor)」が
「def kahen(*mentor,teacher):」と先に*が入っているとエラーになります。
この時のエラーは「TypeError」ですね。
以上となります。
最後まで読んで頂きありがとうございます。