python 之 類屬性和類方法

2021-10-12 18:47:46 字數 3395 閱讀 4802

使用面相物件開發,第 1 步是設計使用類名()建立物件,建立物件的動作有兩步:

物件建立後,記憶體中就有了乙個物件的實實在在的存在 ——例項

因此,通常也會把:

建立出來的物件叫做例項建立物件的動作叫做例項化物件的屬性叫做例項屬性物件呼叫的方法叫做例項方法

在程式執行時:

物件各自擁有自己的例項屬性呼叫物件方法,可以通過self.

結論

python一切皆物件

示例需求

class

tool

(object):

# 使用賦值語句,定義類屬性,記錄建立工具物件的總數

count = 0

def__init__

(self, name):

self.name = name

# 針對類屬性做乙個計數+1

tool.count += 1

# 建立工具物件

tool1 = tool("斧頭")

tool2 = tool("榔頭")

tool3 = tool("鐵鍬")

# 知道使用 tool 類到底建立了多少個物件?

print("現在建立了 %d 個工具" % tool.count)

注意

類方法就是針對類物件定義的方法

語法如下

@classmethod

def 類方法名(cls):

pass

通過類名.呼叫類方法呼叫方法時,不需要傳遞cls引數

在方法內部

示例需求

"""顯示工具物件的總數"""

print("工具物件的總數 %d" % cls.count)

在類方法內部,可以直接使用cls訪問類屬性或者呼叫類方法

這個時候,可以把這個方法封裝成乙個靜態方法語法如下

@staticmethod

def 靜態方法名():

pass

class

dog(object):

# 狗物件計數

dog_count = 0

@staticmethod

defrun

():# 不需要訪問例項屬性也不需要訪問類屬性的方法

print("狗在跑...")

def__init__

(self, name):

self.name = name

需求設計乙個game

屬性:

方法:

主程式步驟

案例小結

例項方法

—— 方法內部需要訪問

例項屬性

類方法—— 方法內部需要訪問類屬性

靜態方法—— 方法內部,不需要訪問例項屬性類屬性

提問

如果方法內部 即需要訪問例項屬性,又需要訪問類屬性,應該定義成什麼方法?

答案

class

game

(object):

# 遊戲最高分,類屬性

top_score = 0

@staticmethod

defshow_help

():print("幫助資訊:讓殭屍走進房間")

@classmethod

defshow_top_score

(cls):

print("遊戲最高分是 %d" % cls.top_score)

def__init__

(self, player_name):

self.player_name = player_name

defstart_game

(self):

print("[%s] 開始遊戲..." % self.player_name)

# 使用類名.修改歷史最高分

game.top_score = 999

# 1. 檢視遊戲幫助

game.show_help()

# 2. 檢視遊戲最高分

game.show_top_score()

# 3. 建立遊戲物件,開始遊戲

game = game("小明")

game.start_game()

# 4. 遊戲結束,檢視遊戲最高分

game.show_top_score()

Python 類屬性和類方法

僅用學習參考 使用物件導向開發,第 1 步是設計類使用類名 建立物件,建立物件的動作有兩步 物件建立後,記憶體中就有了乙個物件的實實在在的存在 例項 因此,通常也會把 建立出來的物件叫做類的例項建立物件的動作叫做例項化物件的屬性叫做例項屬性物件呼叫的方法叫做例項方法 在程式執行時 物件各自擁有自己的...

python基礎之類屬性和例項屬性

屬性 類屬性和例項屬性 類屬性 就是類物件所有的屬性 小結 類屬性 是可以 被 類物件和例項物件共同訪問的 例項屬性只能由例項物件訪問 class student name 黎明 屬於類屬性 就是student類物件所擁有的 def init self,age self.age age 例項屬性 p...

Python物件導向之類屬性類方法靜態方法

使用物件導向開發時,第一步是設計類 當使用 類名 建立物件時,會自動執行以下操作 1.為物件在記憶體中分配空間 建立物件 2.為物件的屬性 設定初始值 初始化方法 init 物件建立後,記憶體中就有了乙個物件的實實在在的存在 例項 因此通常也會把 1.建立出來的物件叫做類的例項 2.建立物件的動作叫...