fork(1) download
  1.  
  2.  
  3. def fix_result(f):
  4. def wrap(*args, **kwargs):
  5. result = f(*args, **kwargs)
  6. if args[0].check(result):
  7. return 1
  8. else:
  9. return result
  10. return wrap
  11.  
  12. class A:
  13. def __init__(self):
  14. self.var = 0
  15.  
  16. def check(self, var):
  17. return self.var == var
  18.  
  19. def test(self):
  20. print(self.b())
  21. print(self.c())
  22.  
  23. @fix_result
  24. def b(self):
  25. return 2
  26.  
  27. @fix_result
  28. @classmethod
  29. def c(cls):
  30. return 3
  31.  
  32. a = A()
  33. a.test()
Runtime error #stdin #stdout #stderr 0.12s 23568KB
stdin
Standard input is empty
stdout
2
stderr
Traceback (most recent call last):
  File "./prog.py", line 33, in <module>
  File "./prog.py", line 21, in test
  File "./prog.py", line 5, in wrap
TypeError: 'classmethod' object is not callable