質問するログイン新規登録

回答編集履歴

4

修正

2019/12/05 06:46

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -11,7 +11,7 @@
11
11
  self._lst.append(num)
12
12
  ```
13
13
 
14
- インスタンスをるのと作らないのとで、動作が変わってきます。
14
+ インスタンスを変数に束縛するのと/しないのとで、動作が変わってきます。
15
15
 
16
16
  ```Python
17
17
  ll = ListLike()

3

成形

2019/12/05 06:45

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -12,11 +12,12 @@
12
12
  ```
13
13
 
14
14
  インスタンスを作るのと作らないのとで、動作が変わってきます。
15
+
15
16
  ```Python
16
17
  ll = ListLike()
17
18
  ll.add(1) # 出力 [] <- 1
18
19
  ll.add(2) # 出力 [1] <- 2
19
- ```
20
+ ```
20
21
 
21
22
  ```Python
22
23
  ListLike().add(1) # 出力 [] <- 1

2

追記

2019/12/05 06:45

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -1,4 +1,28 @@
1
1
  インスタンスを**一度しか**使わないのであれば問題ありません。
2
+
3
+ 例えばこんな『リストもどき』があるとします。
4
+ ```Python
5
+ class ListLike:
6
+ def __init__(self):
7
+ self._lst = []
8
+
9
+ def add(self, num):
10
+ print(self._lst, '<-', num)
11
+ self._lst.append(num)
12
+ ```
13
+
14
+ インスタンスを作るのと作らないのとで、動作が変わってきます。
15
+ ```Python
16
+ ll = ListLike()
17
+ ll.add(1) # 出力 [] <- 1
18
+ ll.add(2) # 出力 [1] <- 2
19
+ ```
20
+
21
+ ```Python
22
+ ListLike().add(1) # 出力 [] <- 1
23
+ ListLike().add(2) # 出力 [] <- 2
24
+ ```
25
+
2
26
  が、ご提示の例に限ってはそもそもクラスを用いる必要が無いでしょう。関数で充分です。
3
27
 
4
28
  > 単に名前を変えて、分かりやすくしているということでしょうか?

1

追記

2019/12/05 06:43

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -1,2 +1,6 @@
1
1
  インスタンスを**一度しか**使わないのであれば問題ありません。
2
- が、ご提示の例に限ってはそもそもクラスを用いる必要が無いでしょう。関数で充分です。
2
+ が、ご提示の例に限ってはそもそもクラスを用いる必要が無いでしょう。関数で充分です。
3
+
4
+ > 単に名前を変えて、分かりやすくしているということでしょうか?
5
+
6
+ その場合もあります。