2016-12-06 | Paul Boddie | raw annotate files changeset graph | Introduced stream classes employing C-level FILE pointers, changing the sys stdin, stdout and stderr objects to be instances of these stream classes. Added fread and fwrite support to the native functions. Added support for raising EOFError. |
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