如果在某些开放源代码库中找到以下代码:
message.get('title', None) or None
有什么理由这样做而不是
message.get('title', None)
? 最佳答案
这将保证听写中的任何错误值(例如,None
、''
、0
、False
、[]
、…)都将变为None
。也就是说,如果你有
d = {'title': False}
然后
d.get('title', None) # False
d.get('title', None) or None # None
是否有一个实际的使用案例是有争议的,但肯定有一个微妙的区别…
还请注意,您可以将其简化为:
d.get('title') or None
由于
d.get
默认为如果未找到元素则返回None
。