0. 元類
- 概念:用來
創(chuàng)建
類對象
的類
num = 10 print(num.__class__) print(num.__class__.__class__) s = "abc" print(s.__class__) print(s.__class__.__class__) class Person: pass p = Person() print(p.__class__) print(p.__class__.__class__)
- 創(chuàng)建類對象
def play(self, ball): print("在打球", self, ball) Person = type("Person", (), {"count": 100, "play": play}) print(Person) print(Person.__dict__) p = Person() print(p) p.play("籃球")
- 類對象創(chuàng)建流程
1. 檢測類中是否有明確 __metaclass__ 屬性; 如果有, 則通過指定元類來創(chuàng)建這個類對象 2. 檢測父類中是否存在 __metaclass__ 屬性; 如果有, 則通過指定元類來創(chuàng)建這個類對象 3. 檢測模塊中是否存在 __metaclass__ 屬性; 如果有, 則通過指定元類來創(chuàng)建這個類對象 4. 通過內(nèi)置的 type 這個元類, 來創(chuàng)建這個類對象
- 應(yīng)用場景
1. 攔截類的創(chuàng)建 2. 修改類 3. 返回修改之后的類
1. 類描述
- 描述方式
1. 形式 (1)直接在類的下方, 使用三個雙引號對描述 (2)需要注明類的作用, 以及類屬性描述 (3)方法描述和函數(shù)描述一樣 2. 示例 class Person: """ 關(guān)于這個類的描述, 類的作用, 類構(gòu)造函數(shù), 類屬性等等 Attributes: count: int 代表人的個數(shù) """ count = 100 def play(self, ball): """ 這個方法的作用效果 :param ball: 參數(shù)含義, 參數(shù)類型, 是否可選, 是否有默認(rèn)值 :return: 返回結(jié)果含義, 返回結(jié)果數(shù)據(jù)類型 """
- 生成項目文檔
1. 使用內(nèi)置模塊 pydoc (1) 查看文檔描述:python3 -m pydoc 模塊名稱 (2) 啟動本地服務(wù), 瀏覽文檔: python3 -m pydoc -b (3) 生成指定模塊 html 文檔: python3 -m pydoc -w 模塊名稱
2. 使用第三方模塊 (1) Sphinx (2) epydoc (3) doxygen