On Thu, Feb 27, 2020 at 8:15 PM Serhiy Storchaka <storchaka@gmail.com> wrote:
27.02.20 10:46, Chris Angelico пише:
On Thu, Feb 27, 2020 at 7:41 PM Serhiy Storchaka <storchaka@gmail.com> wrote:
sympy/utilities/runtests.py
Sorry, but the current code
globs = globs.copy() if extraglobs is not None: globs.update(extraglobs)
looks much clearer to me than the proposed
globs = globs | (extraglobs if extraglobs is not None else {})
Is there a reason for not writing it as:
globs = globs | (extraglobs or {})
? That reads fairly well to me.
Sure. Although it would work different if extraglobs is a false value different from None, empty mapping and iterable.
Yes, technically it's different. But other than this silently ignoring errors like passing 0 rather than None, it's unlikely to have any material difference.
But if we ignore such subtle details, it could be written also as
globs = {**globs, **(extraglobs or {})}
Yeah, but now I think the pipe syntax has a definite advantage. ChrisA