1. 程式人生 > >python中的類屬性,類方法,靜態方法

python中的類屬性,類方法,靜態方法

1.類屬性 就是針對 類物件 定義的屬性 使用 賦值語句 在 class 關鍵字下方可以定義 類屬性 類屬性 用於記錄 與這個類相關 的特徵 2. 類方法 就是針對 類物件 定義的方法 就是針對 類物件 定義的方法 在 類方法 內部可以直接訪問 類屬性 或者呼叫其他的 類方法

1.類方法需要用 修飾器 @classmethod 來標識,告訴直譯器這是一個類方法

2.類方法的 第一個引數 應該是 cls

由 哪一個類 呼叫的方法,方法內的 cls 就是 哪一個類的引用

這個引數和 例項方法 的第一個引數是 self 類似

提示 使用其他名稱也可以,不過習慣使用 cls 3. 通過 類名. 呼叫 類方法,呼叫方法時,不需要傳遞 cls 引數

3.靜態方法

  1. 在開發時,如果需要在 類 中封裝一個方法,這個方法: 既 不需要 訪問 例項屬性 或者呼叫 例項方法 也 不需要 訪問 類屬性 或者呼叫 類方法
  2. 這個時候,可以把這個方法封裝成一個 靜態方法

綜合案例:

"""
需求:
1.檢視幫助資訊
2.建立歷史最高分
3.建立遊戲物件,開始遊戲
"""

"""
分析:
幫助資訊為 靜態屬性
最高分為類屬性  而顯示最高分為類方法
建立物件 屬性  方法

"""

class Game(object):

    #用賦值方法建立類屬性
    count = 0
    #靜態屬性
    @staticmethod
    def inf():
        print("這是一個幫助資訊")

    #類方法
    @classmethod
    def count_num(cls):
        print("最高分為%d"%cls.count)
    #物件屬性
    def __init__(self,name):
        self.name = name
    #物件方法
    def strat(self):
        print("遊戲開始")

Game.inf()
Game.count_num()