Я слишком часто делаю следующее:
attr = getattr(obj, 'attr', None)
if attr is not None:
attr()
# Do something, either attr(), or func(attr), or whatever
else:
# Do something else
Есть ли более питонический способ написать это? Это лучше? (По крайней мере, не в исполнении, ИМО.)
try:
obj.attr() # or whatever
except AttributeError:
# Do something else