魔術方法 呼叫方式 解釋
__new__(cls [,...]) instance = myclass(arg1, arg2) __new__ 在建立例項的時候被呼叫
__init__(self [,...]) instance = myclass(arg1, arg2) __init__ 在建立例項的時候被呼叫
__cmp__(self, other) self == other, self > other, 等。在比較的時候呼叫
__pos__(self) +self 一元加運算子
__neg__(self) -self 一元減運算子
__invert__(self) ~self 取反運算子
__index__(self) x[self] 物件被作為索引使用的時候
__nonzero__(self) bool(self) 物件的布林值
__getattr__(self, name) self.name # name 不存在 訪問乙個不存在的屬性時
__setattr__(self, name, val) self.name = val 對乙個屬性賦值時
__delattr__(self, name) del self.name 刪除乙個屬性時
__getattribute(self, name) self.name 訪問任何屬性時
__getitem__(self, key) self[key] 使用索引訪問元素時
__setitem__(self, key, val) self[key] = val 對某個索引值賦值時
__delitem__(self, key) del self[key] 刪除某個索引值時
__iter__(self) for x in
self 迭代時
__contains__(self, value) value in
self, value not
inself使用 in 操作測試關係時
__concat__(self, value) self + other 連線兩個物件時
__call__(self [,...]) self(args) 「呼叫」物件時
__enter__(self) with
self
as x: with 語句環境管理
__exit__(self, exc, val, trace) with
self
as x: with 語句環境管理
__getstate__(self) pickle.dump(pkl_file, self) 序列化
__setstate__(self) data = pickle.load(pkl_file) 序列化
預設過載方法示例**: Python魔術方法
參考文章 python 魔術方法指南 魔術方法,顧名思義是一種可以給物件 類 增加魔法的特殊方法,它們的表示方法一般是用雙下劃線包圍 如 init from os.path import join class fileobject 給檔案物件進行包裝從而確認在刪除時檔案流關閉 def init se...
Python 魔術方法
usr bin env python coding utf 8 author ray time 2018 12 6 魔術方法例項 init 建構函式,在生成物件時呼叫,用來初始化值 del 析構函式,釋放物件時使用 比如編輯檔案,把關閉檔案的操作寫在此方法中,程式結束時就會關閉軟體 str 使用pr...
Python 魔術方法
與運算子無關 類別方法名 數值轉換 abs bool complex int float hash index 模擬集合 len getitem setitem delitem contains 迭代列舉 iter reversed next 可呼叫模型 call 上下文管理 enter exit ...