1. 程式人生 > >python--內建屬性

python--內建屬性

redirect log tca init subject 自定義 att 說明 技術

一、常用內建屬性

常用專有屬性說明觸發方式
__init__ 構造初始化函數 創建實例後,賦值時使用,在__new__
__new__ 生成實例所需屬性 創建實例時
__class__ 實例所在的類 實例.__class__
__str__ 實例字符串表示,可讀性 print(類實例),如沒實現,使用repr結果
__repr__ 實例字符串表示,準確性 類實例 回車 或者 print(repr(類實例))
__del__ 析構 del刪除實例
__dict__ 實例自定義屬性 vars(實例.__dict__)
__doc__ 類文檔,子類不繼承 help(類或實例)
__getattribute__ 屬性訪問攔截器 訪問實例屬性時
__bases__ 類的所有父類構成元素 類名.__bases__

  1.屬性攔截器的使用

技術分享圖片
class Itcast(object):
    def __init__(self,subject1):
        self.subject1 = subject1
        self.subject2 = cpp

    #屬性訪問時攔截器,打log
    def __getattribute__(self,obj):
        if obj == subject1:
            
print(log subject1) return redirect python else: #測試時註釋掉這2行,將找不到subject2 return object.__getattribute__(self,obj) def show(self): print(this is Itcast) s = Itcast("python") print(s.subject1) print(s.subject2) #結果 log subject1 redirect python cpp
屬性攔截器的使用

python--內建屬性