In [ ]:
class SomeClass(object):
def __init__(self, **kwargs):
self.kwargs = kwargs
def __getitem__(self, key):
return self.kwargs[key]
In [ ]:
s = SomeClass(a=5., b=0., c='whatever')
In [ ]:
s.kwargs
In [ ]:
s['a']
In [ ]:
class Temperature(object):
def __init__(self, value_kelvin):
self.value_kelvin = value_kelvin
def __getitem__(self, key):
if key == 'celsius':
return self.value_kelvin - 273.
elif key == 'fahrenheit':
return (self.value_kelvin - 273.)*9/5 +32
elif key == 'kelvin':
return self.value_kelvin
else:
raise KeyError('Invalid key.')
def __str__(self):
return '<Temperature: {0} K>'.format(self.value_kelvin)
In [ ]:
t = Temperature(298.)
str(t)
In [ ]:
t['celsius']
In [ ]:
t['kjhdafljkshdf']
In [ ]: