On Sunday, May 10, 2015 at 8:16:07 AM UTC+5:30, Steven D'Aprano wrote: > I predict that the majority of the time, late binding would just be a > pointless waste of time: > > def process_string(thestr, start=0, end=None, slice=1, reverse=True): > pass > > Why would you want 0, None, 1 and True to be re-evaluated every time? > Admittedly it will be fast, but not as fast as evaluating them once, then > grabbing a static default value when needed. (See below for timings.) >
And what is the work involved in (re)computing 0, None, 1, True?? If I write (... arg=square_root_of_grahams_number()) I would expect to pay for it. If I write trivial defaults, then I expect trivial payment. -- https://mail.python.org/mailman/listinfo/python-list