関数とスコープ・ラムダ誤り発見
以下の記述で誤っているものはどれか
A.デフォルト引数の値は関数定義時に評価され、呼び出しのたびに再評価されることはない
✓ この記述は正しい。デフォルト引数は関数定義時に一度だけ評価されるため、リストなどのミュータブルなオブジェクトを使用する場合は注意が必要である
B.nonlocal文は内側のスコープの変数が外側のスコープの変数を参照することを指定する← 正解
✓ 正解です。この記述が誤りで、nonlocal文は内側のスコープの変数を外側のスコープの変数として扱うことを指定するもので、外側のスコープの変数を「参照する」ためのものではなく「変更する」ためのものです
C.関数が値を返さない場合、暗黙的にNoneが返される
✓ この記述は正しい。明示的な戻り値がない場合、関数はNoneを返す
D.*argsを使用して可変長の位置引数を関数に渡すことができる
✓ この記述は正しい。*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):
…