読者です 読者をやめる 読者になる 読者になる

牌語備忘録 -pygo

あくまでもメモです。なるべくオフィシャルの情報を参照してください。

牌語備忘録 -pygo

クラスがよくわからないのでPythonでやってみた〜その1

Python
>>> class Cls:                        #クラスを作る
...     def hoge(self):               #これがメソッド
...             self.x = "Hogera!"    #インスタンス変数『x』に文字列を"代入
... 
>>> a = Cls()                         #代入でインスタンスを生成する
>>> a                                 #これがインスタンス
<__main__.Cls instance at 0x787df0>
>>> a.hoge
<bound method Cls.hoge of <__main__.Cls instance at 0x787df0>>
>>> a.x                               #まだ代入されてないからエラー
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: Cls instance has no attribute 'x'
>>> a.hoge()                          #ここでself.xに"Hogera!"が入る
>>> a.x
'Hogera!'

インスタンス == self ?
メソッド== classの中の関数?

メソッド関数の宣言では、オブジェクト自体をあらわす明示的な第一の引数を伴います。
:

慣習として、メソッドの最初の引数を、しばしば self と呼びます。

Pythonチュートリアル 9.クラス

メソッドの最初の引数はselfだから、self == インスタンスなので、メソッドの最初の引数にインスタンスが渡される。


こういうことかなぁ?(゚Д゚)