回答編集履歴

4

追記

2019/12/09 13:48

投稿

LouiS0616
LouiS0616

スコア35668

test CHANGED
@@ -43,3 +43,69 @@
43
43
  この場合関数ではなくメソッドですね。
44
44
 
45
45
  前者は『メソッドそのもの』を返し、後者は『メソッドを呼び出した結果』を返します。
46
+
47
+
48
+
49
+ 活用例
50
+
51
+ ---
52
+
53
+ 例えば高階関数を活用する際には、『関数/メソッドそのもの』を受け渡しする必要があります。
54
+
55
+
56
+
57
+ **一番長い文字列を選ぶ**
58
+
59
+
60
+
61
+ ```Python
62
+
63
+ >>> lst = ['spam', 'ham', 'egg', 'foo', 'bar', 'foobar']
64
+
65
+ >>> max(lst, key=len)
66
+
67
+ 'foobar'
68
+
69
+ ```
70
+
71
+
72
+
73
+ **0~9の値が登場する回数を調べる**
74
+
75
+
76
+
77
+ ```Python
78
+
79
+ >>> lst
80
+
81
+ [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8, 9, 7, 9, 3, 2, 3, 8, 4, 6, 2, 6, 4, 3, 3, 8, 3, 2, 7, 9, 5, 0, 2, 8]
82
+
83
+ >>>
84
+
85
+ >>> for n in map(lst.count, range(10)):
86
+
87
+ ... print(n)
88
+
89
+ ...
90
+
91
+ 1
92
+
93
+ 2
94
+
95
+ 5
96
+
97
+ 7
98
+
99
+ 3
100
+
101
+ 4
102
+
103
+ 3
104
+
105
+ 2
106
+
107
+ 4
108
+
109
+ 4
110
+
111
+ ```

3

追記

2019/12/09 13:48

投稿

LouiS0616
LouiS0616

スコア35668

test CHANGED
@@ -37,3 +37,9 @@
37
37
 
38
38
 
39
39
  > 前者は「関数」、後者なんなのでしょうか?
40
+
41
+
42
+
43
+ この場合関数ではなくメソッドですね。
44
+
45
+ 前者は『メソッドそのもの』を返し、後者は『メソッドを呼び出した結果』を返します。

2

追記

2019/12/09 13:39

投稿

LouiS0616
LouiS0616

スコア35668

test CHANGED
@@ -33,3 +33,7 @@
33
33
  TypeError: 'int' object is not callable
34
34
 
35
35
  ```
36
+
37
+
38
+
39
+ > 前者は「関数」、後者なんなのでしょうか?

1

修正

2019/12/09 13:38

投稿

LouiS0616
LouiS0616

スコア35668

test CHANGED
@@ -18,19 +18,9 @@
18
18
 
19
19
 
20
20
 
21
- ```Python
21
+ 他のオブジェクトにも括弧を付けることも、**構文上は**可能です。
22
22
 
23
- >>> print(print)
24
-
25
- <built-in function print>
26
-
27
- ```
28
-
29
-
30
-
31
- 他のオブジェクトにも括弧を付けることも、構文上は可能です。
32
-
33
- 当然エラーを吐きますが。
23
+ 呼び出し可能オブジェクトでないのなら当然エラーを吐きますが。
34
24
 
35
25
  ```Python
36
26