回答編集履歴
1
参照追加
test
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
そこまじめに考えて方が良いでしょう。
|
5
|
+
そこを解決するにはまじめに考えて方が良いでしょう。
|
6
6
|
|
7
7
|
|
8
8
|
|
@@ -35,3 +35,15 @@
|
|
35
35
|
```
|
36
36
|
|
37
37
|
のように、global宣言を入れれば、```local variable referenced before assignment``` のエラーは出なくなります。
|
38
|
+
|
39
|
+
|
40
|
+
|
41
|
+
[公式ドキュメント 4. 実行モデル 4.2. 名前づけと束縛 (naming and binding)](https://docs.python.org/ja/3/reference/executionmodel.html#naming-and-binding)には以下のように書かれています。
|
42
|
+
|
43
|
+
|
44
|
+
|
45
|
+
ある名前がブロック内で束縛されているなら、 nonlocal や global として宣言されていない限り、それはそのブロックのローカル変数 (local variable) です。 ある名前がモジュールレベルで束縛されているなら、その名前はグローバル変数 (global variable) です。 (モジュールコードブロックの変数は、ローカル変数でも、グローバル変数でもあります。) ある変数があるコードブロック内で使われていて、そのブロックで定義はされていないなら、それは自由変数 (free variable) です。
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
これをよく読むとわかるのですが、最初は難しいかもしれません。
|