Python類中呼叫內部方法的兩種方式

2021-09-08 07:23:44 字數 664 閱讀 2910

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類的例項,直接呼叫這個例項即可。其實是對的。主要是自己在寫類,所有老想著面向過程去了。不應該啊不應該。記錄一下,大神們勿噴。也給後面...