On Mon, Apr 27, 2020 at 12:51 PM Ethan Furman <[email protected]> wrote: > > On 04/26/2020 05:11 PM, Steven D'Aprano wrote: > > On Sun, Apr 26, 2020 at 06:43:06PM +0200, Alex Hall wrote: > > > >> It's not clear to me why people prefer an extra function which would be > >> exactly equivalent to lru_cache in the expected use case (i.e. decorating a > >> function without arguments). It seems like a good way to cause confusion, > >> especially for beginners. Based on the Zen, there should be one obvious way > >> to do it. > > > > Indeed, and if you want to guarantee that a function is executed exactly > > *once*, then a decorator called *once* is that Obvious Way. > > > > How many beginners do you know who even know what a LRU cache is? > > How many beginners know they want to call a function only once? >
Perhaps they'd more ask "how can I calculate this lazily". A function that's called only once is basically a lazily-calculated value. If you combine @property and @once then you actually would have a lazy attribute. ChrisA _______________________________________________ Python-ideas mailing list -- [email protected] To unsubscribe send an email to [email protected] https://mail.python.org/mailman3/lists/python-ideas.python.org/ Message archived at https://mail.python.org/archives/list/[email protected]/message/VSYL57VWDEFW4UKVWP5MGKBPLI7BKN7F/ Code of Conduct: http://python.org/psf/codeofconduct/
