回答編集履歴
1
追記
answer
CHANGED
@@ -2,4 +2,11 @@
|
|
2
2
|
|
3
3
|
次に`Sain()`の正しい実行方法は`Hello().Sain()`です。`Hello()`でHelloクラスのインスタンスを生成、続けて`.Sain()`でそのインスタンスのメソッドを呼び出します。こうすることで`def Sain(self):`の`self`にHelloクラスのインスタンスが渡されます。
|
4
4
|
|
5
|
-
最後に`Hello.Sain("")`とした場合に関しては、Helloクラスのインスタンスを生成**せず**に`def Sain(self):`の`self`に`""`を渡します。そういう使い方をするケースもあることにはありますが、あまり良い使い方ではないと思います。
|
5
|
+
最後に`Hello.Sain("")`とした場合に関しては、Helloクラスのインスタンスを生成**せず**に`def Sain(self):`の`self`に`""`を渡します。そういう使い方をするケースもあることにはありますが、あまり良い使い方ではないと思います。少なくともそういう使い方をするなら以下のようにクラスメソッドとして定義するよ良いと思います。
|
6
|
+
|
7
|
+
```python
|
8
|
+
class Hello():
|
9
|
+
@classmethod
|
10
|
+
def Sain(cls, arg1):
|
11
|
+
return "Hello world"
|
12
|
+
```
|