質問するログイン新規登録

回答編集履歴

2

修正

2018/09/23 07:54

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -1,6 +1,7 @@
1
1
  > 初期化処理(test_list = []とhoge_list = [])の箇所をコメントアウトしても何もエラーが出ません。本当に書くべき必要があるものなのでしょうか?
2
2
 
3
+ 次のような理由です。
3
- body['scope'] 空のシーケンスであった場合ついて考えてみてください
4
+ ブロック内に処理進まなかったとき NameError が発生します
4
5
  ```Python
5
6
  >>> lst = []
6
7
  >>>

1

修正

2018/09/23 07:54

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -22,4 +22,8 @@
22
22
  Traceback (most recent call last):
23
23
  File "<stdin>", line 1, in <module>
24
24
  NameError: name 'dst' is not defined
25
- ```
25
+ ```
26
+
27
+ **追記:**
28
+ うっかりfor文の例を挙げてしまいましたが、事情は同じです。
29
+ ブロック内で変数を宣言する場合は、常に『ブロックに入らなかった場合』を考慮する必要があります。