1. 程式人生 > >python 類和物件 (類屬性,類方法,靜態方法,例項屬性,例項方法)

python 類和物件 (類屬性,類方法,靜態方法,例項屬性,例項方法)

類:類是抽象的,在使用的時候通常會找到這個類的一個具體的存在,使用這個具體的存在。一個類可以找到多個物件

物件: 某一個具體事物的存在,在現實世界中可以是看的到摸得著的。 可以直接使用

類與物件的關係: 類就是建立物件的模板

類的構成:

                1.類的名稱:類名

                 2.類的屬性:一組資料

                 3.類的方法:允許對進行操作的方法(行為)

物件:當建立物件時,就是用一個模子,來製造一個實物

類屬性,例項屬性

類屬性:類物件所擁有的屬性,它被所有類物件的例項物件所共有,在記憶體中只存在一個副本。

例項屬性:例項物件所擁有的屬性,則是以為self.開頭 (例項也能訪問類變數)


例項方法:類的例項能使用的方法

靜態方法:普通函式就位於類定義的名稱空間中,它不會對任何例項型別進行操作。需要使用裝飾器@staticmethod定義靜態方法 (類物件和例項都可以呼叫靜態方法)

類方法:將類本身作為物件進行操作的方法。使用@classmethod裝飾器定義,其第一個引數是類,約定寫為cls(類物件和例項都可以呼叫類方法)

總結:

        類方法的第一個引數是類物件cls,那麼通過cls引用的必定是類物件的屬性和方法;

        而例項方法的第一個引數是例項物件self,那麼通過self引用的可能是類屬性、也有可能是例項屬性(這個需要具體分析),不過在存在相同名稱的類屬性和例項屬性的情況下,例項屬性優先順序更高。

        靜態方法中不需要額外定義引數,因此在靜態方法中引用類屬性的話,必須通過類物件來引用