基礎・中級問題チェック

問題 13 /40

Pythonのスコープに関する説明で、誤っているものはどれか。

選択 1

for文の中で代入した変数は、for文の外から参照できる。

選択 2

if文の中で代入した変数は、if文の外から参照できる。

選択 3

関数の中で代入した変数は、関数の外から参照できる。

選択 4

グローバル変数は、for文、if文、関数の中から参照できる。

解説

選択肢3が正解です。

関数の中で代入した変数は、関数の中でしか参照できません。

ただし、関数の中で「global 変数名」として宣言すると、グローバル変数(すべての関数の外側にある変数)に値を代入できます。

また、入れ子になっている関数の内側の関数で「nonlocal 変数名」として宣言すると、外側の関数の変数に値を代入できます。

他の選択肢は正しい内容です。

(公式書籍 p.28)