關於Python類 方法 物件 例項 靜態方法

2021-09-24 09:23:15 字數 746 閱讀 3484

類裡面的方法有3種:類的例項方法(平時常用的帶有self的方法)、靜態方法(@staticmethod )、類方法(@classmethod)

這裡主要看一下類的例項方法和靜態方法的區別:

(1)例項方法只能被例項物件呼叫,第乙個引數必須要預設傳例項物件,一般習慣用self;

(2)靜態方法(由@staticmethod裝飾的方法)、類方法(由@classmethod裝飾的方法),可以被類或類的例項物件呼叫。靜態方法,引數沒有要求。

先看如下**

其實上述**中的get_request()和post_request()方法可以寫為靜態方法(用pycharm的應該會見到提示,建議你這個方法改為靜態方法,其實如果都按照例項方法來寫的話,不改也不影響呼叫),因為這裡並不需要通過例項來呼叫這兩個方法,它們只是做一些邏輯處理(處理get請求或post請求)

修改後如下:

值得注意的是,假如我們在乙個類下定義了2個方法a,b,其中a既不是靜態方法,也不是類(例項)方法,那麼b在呼叫a時,或者在類外面呼叫類中的a方法時,必須使用類名來呼叫(即類的命名空間),形如:class.a(),不過實際上並沒有人這樣幹就是了(在類裡面要麼構造靜態方法,要麼構造類方法)

python方法物件 類和例項變數

通常,方法在繫結後立即被呼叫 在 myclass 示例中,這將返回字串 hello world 但是,立即呼叫乙個方法並不是必須的 x.f 是乙個方法物件,它可以被儲存起來以後再呼叫。例如 while true print xf 將繼續列印 hello world,直到結束。當乙個方法被呼叫時到底發...

python 類,物件 例項

簡單示例 類方法 python 類方法和例項方法相似,它最少也要包含乙個引數,只不過,類方法中通常將其命名為 cls,且 python 會自動將類本身繫結給 cls 引數 而不是類物件 因此,在呼叫類方法時,無需顯式為 cls 引數傳參。類靜態方法 靜態方法,其實就是我們學過的函式,和函式唯一的區別...

Python中的類物件 例項物件 屬性 方法

class animal object 類物件 age 0 公有類屬性 like none 私有類屬性 def init self 魔法方法 self.name haha 公有例項屬性 self.man 私有例項屬性 defsmile self 公有方法 self指向例項物件 pass def ju...