関数とスコープ・ラムダ応用問題
以下のコードについて説明が正しいものを選択してください。 ```python global_var = 100 def func1(): global_var = 50 print(global_var) def func2(): print(global_var) func1() func2() ```
A.func1()とfunc2()はともに50を出力する
✗ func1()内のglobal_varはローカル変数として作成され、グローバル変数100は変更されません。func2()はグローバル変数の100を参照します
B.func1()は50、func2()は100を出力する← 正解
✓ 正解です。func1()は新しいローカル変数として50を出力し、func2()はグローバルスコープのglobal_var=100を参照して出力します
C.func1()は100、func2()は50を出力する
✗ func1()がグローバル変数を変更していないため、この順序は誤りです。global文がないため、func1()内のglobal_varはローカル変数です
D.両関数ともNameError例外を発生させる
✗ 変数は正しく定義されており、例外は発生しません
「関数とスコープ・ラムダ」の他の問題
以下のコードを実行したときの出力結果として正しいものはどれか。
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):
…