Chcę utworzyć klasę, która nie daje Attribute Error
na wywołanie dowolnej metody, które mogą lub nie mogą istnieje:Python: Jak przechwycić wywołanie metody, które nie istnieje?
moja klasa:
class magic_class:
...
# How to over-ride method calls
...
oczekiwany wynik:
ob = magic_class()
ob.unknown_method()
# Prints 'unknown_method' was called
ob.unknown_method2()
# Prints 'unknown_method2' was called
Teraz unknown_method
i unknown_method2
tak naprawdę nie istnieje w klasie, ale w jaki sposób przechwycimy wywołanie metody w pythonie?
możliwe duplikat [metoda Intercept wywołuje w Pythonie] (http://stackoverflow.com/questions/2704434/intercept -method-calls-in-python) – jamylak
Notatka boczna FYI: PEP8 mówi, że powinno być nazywane 'class MagicClass:' a nowy styl powinien przynajmniej dziedziczyć obiekt prawdopodobnie: 'class MagicClass (object):' – mVChr