Lichen

tests/methods_changing.py

1039:16990afa2754
5 months ago Paul Boddie Eliminated redundant temporary result and attribute reference storage. value-replacement
     1 class C:     2     def f(self):     3         return 1     4      5     def g(self):     6         return self.f()     7      8 class D(C):     9     pass    10     11 def f():    12     return 2    13     14 c = C()    15 d = D()    16     17 # Invoke a method that calls the default version of f.    18     19 print c.g()                 # 1    20 print d.g()                 # 1    21     22 # Replace f in C and invoke the method again. For C, f will have changed,    23 # but for D, f will retain its original value.    24     25 C.f = f    26     27 print c.g()                 # 2    28 print d.g()                 # 1