1 class MixIn: 2 def f(self): 3 return self.g() 4 def f2(self): 5 return self.g2() 6 7 class Concrete(MixIn): 8 def g(self): 9 return 13579 10 def g2(self): 11 return 13579 12 13 class Cement(MixIn): 14 def g2(self): 15 return 24680 16 17 m = MixIn() 18 19 try: 20 print m.f() 21 except TypeError: 22 print "m.f: cannot obtain attribute" 23 24 c = Concrete() 25 print c.f() # 13579 26 27 try: 28 print m.f2() 29 except TypeError: 30 print "m.f2: cannot obtain attribute" 31 32 c2 = Cement() 33 print c2.f2() # 24680