回答編集履歴
1
追記
answer
CHANGED
@@ -3,7 +3,6 @@
|
|
3
3
|
selfもインスタンスです。
|
4
4
|
慣習的にselfと名付けているだけで、別名を付けても仕様上は問題ありません。
|
5
5
|
|
6
|
-
|
7
6
|
次の二つのコードは全く同じように動作します。
|
8
7
|
```Python
|
9
8
|
class Spam:
|
@@ -17,4 +16,23 @@
|
|
17
16
|
x.do_something()
|
18
17
|
```
|
19
18
|
|
20
|
-
なお、 s = Spam() のとき、 s.method() は Spam.method(s) と書くこともできます。
|
19
|
+
なお、 s = Spam() のとき、 s.method() は Spam.method(s) と書くこともできます。
|
20
|
+
|
21
|
+
---
|
22
|
+
インスタンスメソッドの第一引数が『自分自身』を指すことは、簡単に確認できます。
|
23
|
+
```Python
|
24
|
+
class Spam:
|
25
|
+
def introduce_a(self):
|
26
|
+
print(self)
|
27
|
+
|
28
|
+
def introduce_b(x):
|
29
|
+
print(x)
|
30
|
+
|
31
|
+
|
32
|
+
s = Spam()
|
33
|
+
print(s) # => <__main__.Spam object at 0x7f55f3ebc0b8>
|
34
|
+
s.introduce_a() # => <__main__.Spam object at 0x7f55f3ebc0b8>
|
35
|
+
s.introduce_b() # => <__main__.Spam object at 0x7f55f3ebc0b8>
|
36
|
+
```
|
37
|
+
|
38
|
+
アドレスは毎度変わり得ますが、全て同一であることが確認できれば充分です。
|