2016-12-08 | Paul Boddie | raw annotate files changeset graph | Ensure that base classes provide the attributes they use. Added tests demonstrating the use of attributes in base classes that are not necessarily defined in those classes or in some subclasses. |
1 def f(): 2 s = "test" 3 m = s.__len__ 4 n = "test".__len__ 5 print m # __builtins__.str.basestring.__len__ 6 print m() # 4 7 print n # __builtins__.str.basestring.__len__ 8 print n() 9 10 def g(): 11 l = [1, 2] 12 m = l.__len__ 13 n = [1, 2].__len__ 14 print l # [1, 2] 15 print m # __builtins__.list.list.__len__ 16 print m() # 2 17 print n # __builtins__.list.list.__len__ 18 print n() # 2 19 20 f() 21 g()