関数とスコープ・ラムダ比較問題
可変長位置引数(*args)と可変長キーワード引数(**kwargs)の違いについて、正しい説明はどれですか?
A.*argsはタプルとして複数の値を受け取り、**kwargsは辞書として名前付き引数を受け取る← 正解
✓ 正解です。*argsはタプルとして任意個の位置引数を受け取り、**kwargsは辞書として名前付きキーワード引数を受け取ります。
B.*argsはキーワード付きで渡される引数を受け取り、**kwargsは位置引数を受け取る
✗ 逆です。*argsが位置引数、**kwargsがキーワード引数を受け取ります。
C.*argsと**kwargsは共にリストとして値を受け取るが、順序が異なるだけである
✗ *argsはタプル、**kwargsは辞書であり、どちらもリストではありません。
D.**kwargsは関数定義時に指定されなければならず、*argsは省略可能である
✗ どちらも関数定義時に指定され、両者とも省略可能です。指定要件に違いはありません。
「関数とスコープ・ラムダ」の他の問題
以下のコードを実行したときの出力結果として正しいものはどれか。
def multiply(x, y=3):
r…以下のコードを実行したときの出力結果として正しいものはどれか。
square = lambda x: x ** 2
a…以下のコードを実行したときの出力結果として正しいものはどれか。
def calculate(a, b, c=2):
…以下のコードを実行したときの出力結果として正しいものはどれか。
numbers = [2, 3, 4, 5]
resu…以下のコードを実行したときの出力結果として正しいものはどれか。
def outer(x):
def inner…以下のコードを実行したときの出力結果として正しいものはどれか。
def func(a, b, *args):
…