Python魔法方法(Magic Methods)是在Python中以雙下劃線開頭和結尾的方法,用於在類中實現特殊功能。這些方法可以用於覆蓋或擴展Python的內置操作,如列印輸出、算術運算、比較操作等。常見的魔法方法包括:
__init__(self, kwargs)。構造方法,用於初始化新創建的對象實例。
__new__(cls, kwargs)。類的工廠方法,用於創建類的新實例。
__del__(self)。析構方法,當對象被銷毀或垃圾回收時調用。
__str__(self)。返回表示對象的字元串,用於print語句。
__repr__(self)。返回對象的官方字元串表示,用於解釋器的互動模式。
__add__(self, other)。實現對象間的加法運算。
__eq__(self, other)。實現對象間的相等比較。
__getattr__(self, name)。定義當用戶試圖訪問一個不存在的屬性時的行為。
__setattr__(self, name, value)。定義當用戶為一個屬性賦值時的行為。
__delattr__(self, name)。定義當用戶試圖刪除一個屬性時的行為。
__getattribute__(self, name)。定義當訪問對象的屬性時的行為。
__iter__(self)和__next__(self)。使對象可疊代,支持for循環。
__enter__(self)和__exit__(self, exc_type, exc_val, exc_tb)。支持with語句,用於資源管理。
這些魔法方法允許開發者自定義類的行為,以便更好地與Python的語言特性集成。