Я пытаюсь изменить атрибут класса на основе приведенного аргумента. Я просто вхожу в python, но я не могу найти способ сделать это, не используя словарь. Есть ли питонический способ сделать это? Смотрите пример нижеИзменение атрибута класса переменной
class Ship:
def __init__(self, name):
self.name = name
ship_type = {"schooner": [50, 30, 18],
"galleon": [30, 14, 14]
}
self.max_weight = ship_type[name][0]
self.speed = ship_type[name][1]
self.poopdeck = ship_type[name][2]
def upgrade(self, attribute, value):
self.attribute += value
Someship.ship.upgrade(speed, 10)
Я могу выписать другой метод для каждого атрибута, но я чувствую, как будто там должно быть что-то вроде этого.
Я заранее извиняюсь, если об этом уже был дан ответ, но я не мог сказать это правильно, если есть.
Святое дерьмо. Потрясающие. Это даже показывает мне некоторые другие интересные вещи. – Faller