演習課題「グローバル変数の再代入」
右側のコードエリアには、変数 name
を表示する関数 show_name
が用意されています。
しかし、非ローカル変数に再代入しようとしたためエラーが起きてしまいます。
nonlocal 文を利用して、メッセージを正しく表示させてください。
期待する出力値
kirishima
kirishimasan
※有料会員になるとこの動画をご利用いただけます
詳しい説明を読む
#09:内部関数内で非ローカル変数について処理 (nonlocal)
このチャプターでは、内部関数のなかで非ローカル変数について処理する方法を学習しましょう。
- nonlocal 文を使うと、内部関数内で非ローカル変数に再代入できるようになる
x = 1
def func0():
y = x * 2
def func1():
nonlocal y
y *= 2
print(f"y = {y}")
func1()
print(f"y = {y}")
func0()
- 上のコードで、8 行目の nonlocal 文を書かなかった場合、9 行目のコードでエラーが発生する
ログインすると採点できます
コードの実行