回答編集履歴

1

lambda式について丁寧に

2019/02/08 06:41

投稿

firedfly
firedfly

スコア1131

test CHANGED
@@ -12,8 +12,30 @@
12
12
 
13
13
  ```Python
14
14
 
15
- editbox.bind("<FocusOut>", func=lambda event, message="out": print(message))
16
-
17
15
  editbox.bind("<FocusIn>", func=lambda event, message="in": print(message))
18
16
 
19
17
  ```
18
+
19
+
20
+
21
+ なおlambda式は下の関数定義とイコールです。
22
+
23
+
24
+
25
+ ```Python
26
+
27
+ def print_in(event, message="in"):
28
+
29
+ print(message)
30
+
31
+
32
+
33
+ editbox.bind("<FocusIn>", func=print_in)
34
+
35
+ ```
36
+
37
+
38
+
39
+ どこからeventが出てくるかというと、<FocusIn> などのイベントが起きたときに
40
+
41
+ 登録したfuncにeventオブジェクトを渡して呼ぶようになっているのです。