関数とスコープ・ラムダ応用問題
以下のコードを実行したときの出力を選択してください。 ```python x = 5 def outer(): x = 10 inner = lambda: x + 5 return inner() print(outer()) ```
A.10
✗ ラムダ関数はouter()内で定義されており、ローカルスコープのx=10が参照されます
B.15← 正解
✓ 正解です。ラムダ関数はouter()内で定義されたため、クロージャによってローカル変数x=10を参照し、10+5=15を返します
C.20
✗ グローバルスコープのx=5ではなく、ローカルスコープのx=10が参照されます
D.25
✗ ローカルスコープのxは10であり、5ではないため、この計算結果は誤りです
「関数とスコープ・ラムダ」の他の問題
以下のコードを実行したときの出力結果として正しいものはどれか。
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):
…