2018-07-03 | Paul Boddie | raw annotate files changeset graph | Take advantage of context testing when acquiring functions for invocation. Since a context whose nature has been determined will have been tested, either as a consequence of deduction or at run-time, use of __get_function (which tests the context again) is unnecessary. |
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()