hasattr

hasattr () vs try-z wyjątkiem bloku zajmującego się nieistniejącymi atrybutami

if hasattr(obj, 'attribute'): # do somthing Vs try: # access obj.attribute except AttributeError, e: # deal with AttributeError Który powinien być preferowany i dlaczego?