回答編集履歴

4

編集してコメントをもどしました。

2017/10/09 10:07

投稿

quickquip
quickquip

スコア11055

test CHANGED
@@ -53,3 +53,55 @@
53
53
 
54
54
 
55
55
  その程度の違いです。`input`ぐらいメジャーなライブラリ関数に関する限り、たいして違いはありません。
56
+
57
+
58
+
59
+
60
+
61
+ ----
62
+
63
+ (追記)
64
+
65
+
66
+
67
+ > [s.isalnum, s.isalpha, s.isdigit, s.islower, s.isupper]:
68
+
69
+
70
+
71
+ 呼び出し方が変わるからです。そう聞いたということは`TypeError: isalnum() takes no arguments (1 given)`のエラーが出ることは確認してますよね? そのエラーメッセージの通りです。
72
+
73
+
74
+
75
+ ```pyhton
76
+
77
+ "abc".isalnum()
78
+
79
+ ```
80
+
81
+ と等価な呼び出しは
82
+
83
+ ```pyhton
84
+
85
+ str.isalnum("abc")
86
+
87
+ ```
88
+
89
+ です。これを理解しないといけません。`str.isalnum`は一つの引数を取りますが、`"abc".isalnum`は引数を取りません。
90
+
91
+
92
+
93
+ `[s.isalnum, s.isalpha, s.isdigit, s.islower, s.isupper]:`にしたら、この各要素は引数を**取らない**のです。
94
+
95
+
96
+
97
+ ```python
98
+
99
+ for method in [s.isalnum, s.isalpha, s.isdigit, s.islower, s.isupper]:
100
+
101
+ print(any(method() for c in s))
102
+
103
+ ```
104
+
105
+ と変えるととりあえずエラーなく動きます。が、やりたいこととは違う処理になります。
106
+
107
+ データの型を得た意味は何でしょうかという質問が、なぜこう書いたら駄目なのか、という意味なら、処理が変わるから、でしょう。

3

追記を削除しました

2017/10/09 10:07

投稿

quickquip
quickquip

スコア11055

test CHANGED
@@ -48,56 +48,8 @@
48
48
 
49
49
 
50
50
 
51
- ---
51
+
52
52
 
53
53
 
54
54
 
55
55
  その程度の違いです。`input`ぐらいメジャーなライブラリ関数に関する限り、たいして違いはありません。
56
-
57
-
58
-
59
- ----
60
-
61
- (追記)
62
-
63
-
64
-
65
- > [s.isalnum, s.isalpha, s.isdigit, s.islower, s.isupper]:
66
-
67
-
68
-
69
- 呼び出し方が変わるからです。そう聞いたということは`TypeError: isalnum() takes no arguments (1 given)`のエラーが出ることは確認してますよね? そのエラーメッセージの通りです。
70
-
71
-
72
-
73
- ```pyhton
74
-
75
- "abc".isalnum()
76
-
77
- ```
78
-
79
- と等価な呼び出しは
80
-
81
- ```pyhton
82
-
83
- str.isalnum("abc")
84
-
85
- ```
86
-
87
- です。これを理解しないといけません。`str.isalnum`は一つの引数を取りますが、`"abc".isalnum`は引数を取りません。
88
-
89
-
90
-
91
- `[s.isalnum, s.isalpha, s.isdigit, s.islower, s.isupper]:`にしたら、この各要素は引数を**取らない**のです。
92
-
93
-
94
-
95
- ```python
96
-
97
- for method in [s.isalnum, s.isalpha, s.isdigit, s.islower, s.isupper]:
98
-
99
- print(any(method() for c in s))
100
-
101
- ```
102
-
103
- と変える必要が生じます。(`method()`の中身)

2

typo

2017/10/09 09:55

投稿

quickquip
quickquip

スコア11055

test CHANGED
@@ -66,7 +66,7 @@
66
66
 
67
67
 
68
68
 
69
- 呼び出し方が変わるからです。そう聞いたということは`TypeError: isalnum() takes no arguments (1 given)`のエラーが出ることは確認してますよね? そのエラーメッセージの通りです。
69
+ 呼び出し方が変わるからです。そう聞いたということは`TypeError: isalnum() takes no arguments (1 given)`のエラーが出ることは確認してますよね? そのエラーメッセージの通りです。
70
70
 
71
71
 
72
72
 

1

コメントに対して

2017/10/09 09:52

投稿

quickquip
quickquip

スコア11055

test CHANGED
@@ -53,3 +53,51 @@
53
53
 
54
54
 
55
55
  その程度の違いです。`input`ぐらいメジャーなライブラリ関数に関する限り、たいして違いはありません。
56
+
57
+
58
+
59
+ ----
60
+
61
+ (追記)
62
+
63
+
64
+
65
+ > [s.isalnum, s.isalpha, s.isdigit, s.islower, s.isupper]:
66
+
67
+
68
+
69
+ 呼び出し方が変わるからです。そう聞いたということは`TypeError: isalnum() takes no arguments (1 given)`の絵エラーが出ることは確認してますよね? そのエラーメッセージの通りです。
70
+
71
+
72
+
73
+ ```pyhton
74
+
75
+ "abc".isalnum()
76
+
77
+ ```
78
+
79
+ と等価な呼び出しは
80
+
81
+ ```pyhton
82
+
83
+ str.isalnum("abc")
84
+
85
+ ```
86
+
87
+ です。これを理解しないといけません。`str.isalnum`は一つの引数を取りますが、`"abc".isalnum`は引数を取りません。
88
+
89
+
90
+
91
+ `[s.isalnum, s.isalpha, s.isdigit, s.islower, s.isupper]:`にしたら、この各要素は引数を**取らない**のです。
92
+
93
+
94
+
95
+ ```python
96
+
97
+ for method in [s.isalnum, s.isalpha, s.isdigit, s.islower, s.isupper]:
98
+
99
+ print(any(method() for c in s))
100
+
101
+ ```
102
+
103
+ と変える必要が生じます。(`method()`の中身)