我想創建一個類,有效地做到這一點(混合了一點PHP和Python)的Python __getattribute__(或__getattr__)來模擬PHP __call
class Middle(object) : # self.apply is a function that applies a function to a list # e.g self.apply = [] ... self.apply.append(foobar) def __call(self, name, *args) : self.apply(name, *args)
因此允許代碼的說:
m = Middle() m.process_foo(a, b, c)
在這種情況下,__call()是在對象上找不到方法時調用的PHP __call()方法。
這是絕對可怕。你可以使用getattr代替:'result = getattr(self,「FUNC_%d」%func,self.default)(arg)' – u0b34a0f6ae 2009-10-26 19:14:16