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 [ ]: