检查对象是否具有属性列表中的属性,如果找到,则将其分配给变量 - 动态

Check if an object has an attribute from a list of attributes, and if is found assign it to a variable - dynamic

我检查一个对象是否有一个属性或另一个,只能有一个。

如果找到该属性,将其值赋给一个变量。这可以动态完成(属性编号可以变化),从可能的属性列表中获取吗?

if hasattr(o, 'a') or if hasattr(o, 'b') or if hasattr(o, 'c') or if hasattr(o, 'd'):

result = the one that exist

将属性放入列表中并遍历它:

for attr in ['a', 'b', 'c', 'd']:
    try:
        result = getattr(o, attr)
    except AttributeError:
        # Try the next one
        continue
    break
else:
    raise ValueError("No attribute found")

显然,列表也可以动态构建。