1. 程式人生 > >Python的魔法方法??

Python的魔法方法??

定義 new 第一個 初始化 調用 函數 就會 attr ont

就是可以給你的類增加魔力的特殊方法,如果你的對象實現 (重載)了這些方法中的某一個,那麽這個方法就會在特殊的情況下被 Python 所調用,你可以定義自己想要的行為,而這一切都是自動發生的。

__init__ 構造器,當一個實例被創建的時候初始化的方法。但是它並 不是實例化調用的第一個方法。

__new__才是實例化對象調用的第一個方法,它只取下 cls 參數,並把 其他參數傳給 __init__。

__call__ 允許一個類的實例像函數一樣被調用 。

__getitem__ 定義獲取容器中指定元素的行為,相當於 self[key] 。

__getattr__ 定義當用戶試圖訪問一個不存在屬性的時候的行為 。

__setattr__ 定義當一個屬性被設置的時候的行為 。

__getattribute__ 定義當一個屬性被訪問的時候的行為 。

Python的魔法方法??