2017-02-13 | Paul Boddie | raw annotate files changeset graph | Added __str__ to the wrapper class to delegate to wrapped objects. | method-wrapper-for-context |
1 class C: 2 def f(self, x, y, z): 3 return z 4 5 class D: 6 def f(self, a, b, c): 7 return c 8 9 def xyz(obj): 10 return obj.f(1, 2, z=3) 11 12 def abc(obj): 13 return obj.f(4, 5, c=6) 14 15 c = C() 16 d = D() 17 18 print xyz(c) # 3 19 print abc(d) # 6 20 21 try: 22 print xyz(d) # should raise an exception 23 except TypeError: 24 print "xyz(d): argument cannot be used"