Während Sie Ihre Klasse so einrichten können, denke ich, eine einfache, lesbare Weise etwas so sein würde:
#! /usr/bin/env python
class Character():
def __init__(self, level):
self.skill_level = level
self.skills = {
10: 'aaa',
20: 'bbb',
30: 'ccc'
}
def set_skill_level(self, skill_level):
self.skill_level = skill_level
def get_skill_level(self):
return "You are currently at skill level {0}".format(self.skill_level)
def get_skill(self):
return "Your skill is {0}".format(self.skills[self.skill_level])
if __name__ == "__main__":
my_character = Character(20)
print(my_character.get_skill_level())
print(my_character.get_skill())
Hier speichern Sie die relevanten Instanzvariablen, das Qualifikationsniveau und die zu dieser Ebene gehörenden Fähigkeiten und stellen Klassenmethoden für die Interaktion mit diesen Daten bereit. Ich denke, dass die Verwendung eines Wörterbuchs, um die Fähigkeiten auf jeder Ebene zu definieren, sauberer ist, als eine unterschiedliche Instanzvariable für jede Fähigkeit zu definieren, weil es Ihnen die Möglichkeit bietet, die Fähigkeitsliste als Argument an die Klasse zu übergeben oder sie von einer externen Quelle zu lesen. wie eine Datenbank, Datei, etc.
Ich denke, Sie müssen Ebene Eigenschaft als dict erstellen. –