python class 裡面 self 的含意

剛開始學習 python 的時候總覺得很麻煩,為什麼自訂一個類別 (class) 時,需要加入一個參數 self ?
而且,如果不這麼做,程式還會跳錯誤給我看...

self 代表引用該 class 的物件本身

以下 code 簡單說明 self 的意思

class Test:
def prt(self):
print(self)
print(self.__class__)

t = Test()
t.prt()

其結果是

<__main__.Test object at 0x000000000284E080>
<class '__main__.Test'>

表示,使用 t.prt() 時候,其實 python 內是解釋成 Test.prt(t),也就是把 self 解釋成 t 這個物件。 而且 self 不可以不寫,因為我們已經在程式運行時傳入了 t 物件己身這個參數。

results matching ""

    No results matching ""