回答編集履歴
2
誤字
answer
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
|
7
7
|
### 1. ある関数の中でしか使わない関数を定義するとき
|
8
8
|
|
9
|
-
絶対にとは言えませんが、ある関数の中でしか使わない関数するときは、関数の中で関数を定義しても良いのかなと思います。
|
9
|
+
絶対にとは言えませんが、ある関数の中でしか使わない関数を定義するときは、関数の中で関数を定義しても良いのかなと思います。
|
10
10
|
|
11
11
|
関数の外で関数を定義した場合、「その関数は他の関数でも呼ばれるのかな?」と読む側に誤解を与えます。それに対して、関数の中で関数を定義した場合、「その関数は他の関数で呼ばれることはない」ことが読む側にわかります。
|
12
12
|
|
@@ -15,6 +15,6 @@
|
|
15
15
|
|
16
16
|
### 2. クラスを定義するのが面倒なとき
|
17
17
|
|
18
|
-
`nonlocal` を
|
18
|
+
関数内関数と `nonlocal` を組み合わせることで、クラス定義文を使うことなく、クラス定義文と同じようなことができます。ごく限られた場合ですが、クラス定義文より短く簡潔にかけることがあります。
|
19
19
|
|
20
20
|
* [クロージャと nonlocal](https://python.ms/closure-and-nonlocal/)
|
1
誤字
answer
CHANGED
@@ -10,7 +10,7 @@
|
|
10
10
|
|
11
11
|
関数の外で関数を定義した場合、「その関数は他の関数でも呼ばれるのかな?」と読む側に誤解を与えます。それに対して、関数の中で関数を定義した場合、「その関数は他の関数で呼ばれることはない」ことが読む側にわかります。
|
12
12
|
|
13
|
-
どこからも参照できる
|
13
|
+
どこからでも参照できる変数、あるいは関数は、精神的な負担が高くなることが多い気がします。そのため一般に、グローバルスコープではなく、ローカルスコープを使いましょう、とよく言われています。
|
14
14
|
|
15
15
|
|
16
16
|
### 2. クラスを定義するのが面倒なとき
|