检查对象是否具有属性列表中的属性,如果找到,则将其分配给变量 - 动态
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")
显然,列表也可以动态构建。
我检查一个对象是否有一个属性或另一个,只能有一个。
如果找到该属性,将其值赋给一个变量。这可以动态完成(属性编号可以变化),从可能的属性列表中获取吗?
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")
显然,列表也可以动态构建。