Dictionaries have elements and, thus, use everything that is defined as __getitem__()to get the key value.
Objects have attributes and, therefore, are used __getattr__()to get the attribute value.
, - ? :
Python 2.x:
def get_value(some_thing, some_key):
if type(some_thing) in ('dict','tuple','list'):
return some_thing[some_key]
else:
return getattr(some_thing, some_key)
Python 3.x:
def get_value(some_thing, some_key):
if type(some_thing) in (dict,tuple,list):
return some_thing[some_key]
else:
return getattr(some_thing, some_key)