前提・実現したいこと
pythonエンジニア認定試験を受験する者です。
過去問で分からない点がありましたのでご質問させていただきます。
変数の参照について、locがそれぞれなぜその値が参照されるかが分かりません。
例えば、定義内でglobal locを宣言したのに、なぜ出力がnonlocalになるのでしょうか?
初歩的な質問で申し訳ありません。
ご教示よろしくお願いいたします。
該当のソースコード
python
1def scope(): 2 loc = "init" 3 def do_local(): 4 loc = "local" 5 def do_nonlocal(): 6 nonlocal loc 7 loc = "nonlocal" 8 def do_global(): 9 global loc 10 loc = "global" 11 do_local() 12 print(loc) 13 do_nonlocal() 14 print(loc) 15 do_global() 16 print(loc) 17 18scope() 19print(loc) 20#出力結果:init nonlocal nonlocal global 21#それぞれなぜこの値が参照されるのかが分かりません
回答2件
あなたの回答
tips
プレビュー