Python 類繼承之類變數和類方法的用法

2021-09-26 05:18:33 字數 1217 閱讀 5361

本頁主要討論python中的類繼承時的類變數和類方法的用法。在閱讀相關**時,一定要切記當前 self 是誰,型別是什麼,繼承關係是什麼,mro是什麼。這樣才能準確把握**的呼叫流程。

示例**:注意在類方法 get_name() 對於 displayer/ mysubclass 的例項會列印不同的值

class displayer(object):

name = none

@classmethod

def get_name(cls):

print 'in the get_name:'

# 對於 displayer/ mysubclass 的例項會列印不同的值

print 'cls = , cls.name = '.format(cls, cls.name)

return cls.name

def display(self):

print 'in the display:'

print 'type(self) = , self = '.format(type(self), self)

name = self.get_name()

print 'name = '.format(name)

class mysubclass(displayer):

name = 'robert'

obj1 = displayer()

obj1.display()

print '------'

obj2 = mysubclass()

obj2.display()

the output is:

in the display:

type(self) = , self = <__main__.displayer object at 0x0000000001fd44e0>

in the get_name:

cls = , cls.name = none

name = none

------

in the display:

type(self) = , self = <__main__.mysubclass object at 0x0000000001fe1e48>

in the get_name:

cls = , cls.name = robert

name = robert

python 類之類變數與例項變數

前面,我們已經知道了如何定義乙個python的類,那麼類中可以包含什麼內容呢?乙個python類中,包含了變數和方法。我們看如下 其中的age變數和gender變數定義在類中,但在方法外,這樣的變數就是類變數。類變數為所有例項所共享的變數。對上面的程式做了細微的修改 我們例項化乙個物件 person...

python 類 繼承 python 類的繼承

1 所用的類都可以被繼承 2 沒有繼承其他類的類必然有乙個父類 object 3子類可以擁有父類的 init 裡的類容 派生子類除了父類的一些屬性,還會有自己的屬性和方法,這些就叫派生 如何使用 實現 class animal def init self,name,attack,hp self.na...

類的方法 變數和繼承

1.類方法 定義 使用裝飾器 classmethod。第乙個引數必須是當前類物件,該引數名一般約定為 cls 通過它來傳遞類的屬性和方法 不能傳例項的屬性和方法 呼叫 例項物件和類物件都可以呼叫 應用場景 需要站在類的角度執行某個行為時,那麼就應該定義為類方法 2.例項方法 呼叫 只能由例項物件呼叫...