我知道如何覆蓋對象的getattr()來處理對未定義對象函數的調用。但是,我想爲內置的getattr()函數實現相同的行爲。例如,考慮這樣的代碼:如何覆蓋Python中的內置getattr?
call_some_undefined_function()
通常情況下,簡單地產生一個錯誤:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'call_some_undefined_function' is not defined
我要重寫GETATTR(),這樣我可以攔截調用「call_some_undefined_function()」並弄清楚該怎麼做。
這可能嗎?
模塊對象有一個'__getattribute__'方法,但它顯然沒有被使用。 – Omnifarious 2010-06-16 16:30:39
一個問題:爲什麼? – 2010-06-16 16:35:30
你需要什麼? OO – Joschua 2010-06-16 16:59:20