Я пытаюсь использовать декоратор @postcondition для значения, возвращаемого функцией-членом класса, например:
def out_gt0(retval, inval):
    assert retval > 0, "Return value < 0"
class foo(object):
    def __init__(self, w, h):
        self.width = w
        self.height = h
    @postcondition(out_gt0)
    def bar(self):
        return -1
Когда я пытаюсь вызвать функцию-член функции "bar" (и поэтому провоцирую @postcondition на предоставление предупреждения), я получаю следующее:
>>> f = foo(2,3)
>>> f.bar()
Traceback (most recent call last):
  File "<pyshell#22>", line 1, in <module>
    f.bar()
  File "<pyshell#8>", line 106, in __call__
    result = self._func(*args, **kwargs)
TypeError: bar() takes exactly 1 argument (0 given)
>>> 
Мое определение @postcondition - это то, что видно здесь http://wiki.python.org/moin/PythonDecoratorLibrary#Pre-.2FPost-Conditions.
Я предполагаю, что ошибка возникает из-за того, что функция, лежащая в основе @postcondition, не ожидает обработки функции-члена (конечно, все примеры, которые я когда-либо видел, просто используют простые старые функции), но я не уверен, как исправить это так, я могу это сделать?
Был бы благодарен за любой совет.
