也许我只是起得太晚了。
我有一个对象是字典周围的薄包装器。它将假装对字典中的任何键都有一个属性,如果引用了不存在的键,则返回 None 。
我只想取回三个可能键的唯一“真实”值。(不是无)。对象可能没有一个或多个键。或者,它可能在两个或三个键中具有相同的值。
这段代码做我想要的:
set(getattr(obj, field) for field in ['field1', 'field2', 'field3'] if getattr(obj, field))
我只是不喜欢重复 getattr() 两次的样子。我觉得我忽略了一个明显更好的方法来做到这一点。