On Sat, Oct 23, 2021 at 7:55 PM Steven D'Aprano
And is it really a problem if we delay the late-binding to the point where the value is actually needed? ...
<snip> [in that csse] I would stick to manual late-
binding using None, and only evaluate it as needed.
Maybe this is an argument for some sort of thunk, as in Algol, which is only evaluated at need. <snip>
I have no idea whether thunk-like functionality is workable in Python's
execution model without slowing down every object reference, but if it is possible, there could be other really nice use-cases beyond just function defaults.
Your message here and my message on this passed in the mail. Yes, this is a really good point and would apply to the cases I've seen where the evaluation was in the middle. Thanks for raising it. I also don't know if it's workable but it should be considered. --- Bruce