使用面相物件開發,第 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.建立物件的動作叫...