関数とスコープ・ラムダ応用問題

以下のコードについて説明が正しいものを選択してください。 ```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例外を発生させる
✗ 変数は正しく定義されており、例外は発生しません

Python 3 エンジニア認定基礎試験 の問題一覧