Я нашел вышеупомянутые ответы полезными, а затем уточнил:
class MyObj(object):
def __init__(self, key1=1, key2=2, key3=3):
for (k, v) in locals().iteritems():
if k != 'self':
setattr(self, k, v)
Тест:
>>> myobj = MyObj(key1=0)
>>> print myobj.key1
0
И проверка также есть:
>>> myobj = MyObj(key4=4)
TypeError: __init__() got an unexpected keyword argument 'key4'