Использование try-except
def canSetAttr(o):
try:
name = 'probablynotset'
flag = hasattr(o, name)
if flag:
old = getattr(o, name)
setattr(o, name, 'x')
if flag:
setattr(o, name, old)
else:
delattr(o, name)
return True
except AttributeError:
return False