如果在某些开放源代码库中找到以下代码:

message.get('title', None) or None

有什么理由这样做而不是message.get('title', None)

最佳答案

这将保证听写中的任何错误值(例如,None''0False[]、…)都将变为None。也就是说,如果你有

d = {'title': False}

然后
d.get('title', None)  # False
d.get('title', None) or None  # None

是否有一个实际的使用案例是有争议的,但肯定有一个微妙的区别…
还请注意,您可以将其简化为:
d.get('title') or None

由于d.get默认为如果未找到元素则返回None

08-28 00:26
查看更多