回答編集履歴

3

追記

2019/11/12 03:33

投稿

quickquip
quickquip

スコア11040

test CHANGED
@@ -19,3 +19,27 @@
19
19
  f()
20
20
 
21
21
  ```
22
+
23
+
24
+
25
+ ----
26
+
27
+ 追記
28
+
29
+
30
+
31
+ ```python
32
+
33
+ fruits = ["apple", "orange", "banana"]
34
+
35
+ functions = [lambda fruit=fruit: print(fruit) for fruit in fruits]
36
+
37
+ for f in functions:
38
+
39
+ f()
40
+
41
+ ```
42
+
43
+ このように書いてあるコードも時々目にしますが、私はギョッとするので好みではありません。
44
+
45
+ (`fruit=fruit`の左がlambdaのローカル変数で、右がその外の、つまりforで作られる変数です。`print(fruit)`のfruitはlambdaのローカル変数)

2

些細

2019/11/12 03:33

投稿

quickquip
quickquip

スコア11040

test CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
 
8
8
 
9
- よい回避方法というあまり気はしませんが、引数のデフォルト値として束縛する方法が紹介されていて、それが常套かと思います。
9
+ よい回避方法という気はあまりしませんが、引数のデフォルト値として束縛する方法が紹介されていて、それが常套かと思います。
10
10
 
11
11
  ```python
12
12
 

1

些細

2019/11/12 03:29

投稿

quickquip
quickquip

スコア11040

test CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
 
8
8
 
9
- あまりよい回避方法という気はしませんが、引数のデフォルト値として束縛する方法が紹介されていて、それが常套かと思います。
9
+ よい回避方法というあまり気はしませんが、引数のデフォルト値として束縛する方法が紹介されていて、それが常套かと思います。
10
10
 
11
11
  ```python
12
12