У меня есть класс с определенными атрибутами.Могу ли я использовать метод класса для установки атрибутов класса в Python?
Я хотел бы определить метод, который устанавливает другие атрибуты на основе тех, которые уже были установлены. Что-то вроде этого:
class Test:
def __init__(self, name):
self.name = name
self.list = []
max = None
def get_max(self)
self.max = max(list)
Это не работает. У меня такое чувство, что я делаю что-то очень плохое, но я не могу понять, что. Пожалуйста, кто-то вывел меня из моих страданий.
Обновленный код дает мне ошибку Attribute:
class Test:
def __init__(self, name):
self.name = name
self.lst = []
self.mx = None
def get_max(self)
self.mx = max(self.lst)
Когда я вызываю метод, никакие исключения не возвращаются, но атрибут self.mx не обновляются.
>>>t = Test('testname')
>>>t.lst = [1,2,3]
>>>t.get_max
>>>t.name
'testname'
>>>t.lst
[1,2,3]
>>>t.mx
AttributeError: Test instance has no attribute 'mx'
и 'max' приведет к ошибке, даже с' self.list' – vaultah
Когда ты «Это не работает», что вы имеете в виду? Если вы получаете исключение, включите в свой вопрос полный ответ. – Blckknght
Извинения за небрежно написанный код в оригинальном вопросе. Надеюсь, отредактированный вопрос немного облегчит то, что я хочу сделать. – lac