python self 簡單理解

2022-08-22 04:09:13 字數 805 閱讀 7591

簡單一句話,我們是夥伴

self 在定義時需要定義,但在呼叫時會自動傳入

self 的名字可以變更

self 總是指呼叫時的類的例項

下面就上面三點進行解釋

先看乙個例子

>>> class test(object):

... def testself(self):

... print(self)

...>>> t = test()

>>> t.testself()

<__main__.test object at>

從例子可以看出,self 實際上是類的物件

在 python 機制中,當我們執行 t.testself() 時,實際上執行的是 test.testself(t), 其會把生成的物件 t 傳遞給 self,所以實際列印出來的就是 t 了,因此,self 代表的是類的例項

所以說,當使用類的例項呼叫類的方法時,self 是不能夠省略的,因為 python 有自動傳遞引數

那換乙個角度想,如果直接執行 test.testself() 的話,是不是在定義類的時候把 self 去掉了,答案是肯定可以去掉的,因為這時候並沒有傳遞例項進去,但這樣適應就沒有意思了,對吧

另外,因為 self 僅僅只是代表乙個引數,所以他的名字也就可以變更了,但還是約定成俗的比較好

最後,因為我們傳進去的是相應類的例項物件,所以 self 也就總是指向呼叫時的類的例項

也就是說,某乙個類裡面的 self 不一定指向這個類的例項物件,可能是其他類的

2 4 2Python self擴充套件

總目錄 python 子目錄 在類基礎中簡單說過self的用法和含義。這裡我們細說一下。首先定義乙個類 class dog object pass dog dog 因為類有模板的作用,因此,可以在建立例項的時候,把我們認為必須繫結的屬性強制填寫進去。這裡就用到python當中的乙個內建方法 init...

Python self 雙下劃線

class ball def init self,name self.name name ball ball qwe ball.name qwe class ball def setname self,name self.name name defkick self print 我是 s self....

簡單理解SaaS

saas 在這種模式下,客戶不再像傳統模式那樣花費大量投資用於硬體 軟體 人員,而只需要支出一定的租賃服務費用,通過網際網路便可以享受到相應的硬體 軟體和維護服務,享有軟體使用權和不斷公升級,這是網路應用最具效益的營運模式。對使用者而言,和應用傳統軟體相比,軟體即服務 saas 具有四大基本特點,即...