class std():
def un1(self):
print("sssd")
def un2(self):
std.un1(self) #①
t = std()
t.un2()
輸出結果:sssd
在①處,我們呼叫的是非繫結類方法,但是我們是通過類訪問的,非繫結類方法只有在物件例項傳入時才會將self替換,而類並不會所以我們需要在呼叫時傳入引數self(self在例項化類之後,就相當於物件例項了t了),所以un1有了引數,可以執行
class std():
def un1(self):
print("sssd")
def un2(self):
self.un1()
t = std()
t.un2()
輸出結果:sssd
這裡就很好理解了,因為呼叫方法時會自動將物件作為引數傳給方法(注意,無論目標方法是非繫結類方法還是繫結類方法都會傳),所以當t傳入un2時,替換掉了self,**就可以理解為t.un1()
了,就是乙個un1的方法呼叫,這裡將t作為引數傳給了un1,有了引數,可以執行
Python 類方法中呼叫父類的類方法
3.super 測試 推薦使用,安全 如果類的物件方法呼叫父類的物件方法,可以使用super 函式獲取父類的物件方法 如果在類方法中呼叫父類的類方法,則可以使用super 推薦,暫時未發現問題 或者cls.base 屬性 不推薦,我用的時候出現未知錯誤 獲取父類的類方法。為什麼使用屬性會出現問題?因...
python類呼叫方法 在Python類中呼叫方法
您尚未建立上述類的物件。類中的任何函式 方法都只能由該類的物件訪問。有關物件導向程式設計基礎的詳細資訊,請檢視this頁。同時,要使其生效,請按以下方式定義類 class time def init self,x none,y none,z none self.hour x self.minute ...
Python中從B類中呼叫A類的方法。
好久沒上了,python還在學 最近進度有點慢。下面 記錄了乙個不太好理解的點,自己寫了個小例子,總算是理順了。b類想要呼叫a類,自己在網上看了一下其他人的回覆 建立a類的例項,直接呼叫這個例項即可。其實是對的。主要是自己在寫類,所有老想著面向過程去了。不應該啊不應該。記錄一下,大神們勿噴。也給後面...