class Warrior:
def __init__(self, **kwargs):
default_params = {
"hp" : 10,
"defense" : 15,
"agility" : 1,
}
params = {**default_params, **kwargs}
self.hp = params["hp"]
self.defense = params["defense"]
self.agility = params["agility"]
self._params = params
def __str__(self):
args = ",".join("{}={}".format(key, value) for key, value in self._params.items())
return "Warrior({})".format(args)
warrior1 = Warrior()
print(warrior1)
warrior2 = Warrior(hp=1, agility=100)
print(warrior2)
CmNsYXNzIFdhcnJpb3I6CglkZWYgX19pbml0X18oc2VsZiwgKiprd2FyZ3MpOgoJCWRlZmF1bHRfcGFyYW1zID0gewoJCQkiaHAiIDogMTAsCgkJCSJkZWZlbnNlIiA6IDE1LAoJCQkiYWdpbGl0eSIgOiAxLAoJCX0KCQlwYXJhbXMgPSB7KipkZWZhdWx0X3BhcmFtcywgKiprd2FyZ3N9CgkJc2VsZi5ocCA9IHBhcmFtc1siaHAiXQoJCXNlbGYuZGVmZW5zZSA9IHBhcmFtc1siZGVmZW5zZSJdCgkJc2VsZi5hZ2lsaXR5ID0gcGFyYW1zWyJhZ2lsaXR5Il0KCQlzZWxmLl9wYXJhbXMgPSBwYXJhbXMKCQoJZGVmIF9fc3RyX18oc2VsZik6CgkJYXJncyA9ICIsIi5qb2luKCJ7fT17fSIuZm9ybWF0KGtleSwgdmFsdWUpIGZvciBrZXksIHZhbHVlIGluIHNlbGYuX3BhcmFtcy5pdGVtcygpKQoJCXJldHVybiAiV2Fycmlvcih7fSkiLmZvcm1hdChhcmdzKQoJCQp3YXJyaW9yMSA9IFdhcnJpb3IoKQpwcmludCh3YXJyaW9yMSkKd2FycmlvcjIgPSBXYXJyaW9yKGhwPTEsIGFnaWxpdHk9MTAwKQpwcmludCh3YXJyaW9yMik=