Если вы используете синтаксис ** kwargs, то это делает вашу конструкцию еще более гибкой при создании объекта:
class MyHealthClass(object):
def __init__(self, *args, **kwargs):
for key in kwargs:
setattr(self, key, kwargs[key])
if not hasattr(self, 'health'):
raise TypeError('Needs a health')
print self.health
Затем вы можете назвать это со своим словарем так:
>>> myvar = MyHealthClass(**DEFAULT_PARAMS)
10
Или используя ключевые слова args:
>>> myvar = MyHealthClass(healh=10, wealth="Better all the time")
10
>>> print myvar.health
10
>>> print myvar.wealth
Better all the time