Only if "None" is not a proper value from .get().
And this doest solve the problems with more general callbacks that are
not trying to get a value (cf Django lazy_gettext).
Besides, "??" does not exist yet for Python, so let's counter the
argument for lazy with the potential benefits of something we don't have
ATM.
A proposal is already hard enough to defenD on Python-ideas :)
Le 28/02/2017 à 16:21, Mark E. Haase a écrit :
> This could be solved with a null-coalescing operator, e.g. PEP-505.
>
> >>> val = conf.get('setting_name') ?? load_from_db('setting_name')
>
> The right side isn't evaluated unless the left side is None. It's
> similar to this:
>
> >>> val = conf.get('setting_name') or load_from_db('setting_name')
>
> Except that using "or" would result in any false-y value (0, "", [],
> etc.) being overridden by the result of `load_from_db(...)`.
>
> I'm not strongly opposed to "lazy", but I think null-coalescing is
> easier to reason about.
>
_______________________________________________
Python-ideas mailing list
[email protected]
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/