Может ли список быть полем класса?

Допустим, есть класс, и я в нём задаю поле, как список

class Calculator:
    history = [[], []]

Однако, если затем в методе пишу такой код:

Calculator.history[1] = (self.a, self.b, self.act, self.c)

Выдает ошибку

TypeError: 'function' object does not support item assignment

объект 'function' не поддерживает назначение элемента

Но я же задал поле, а не функцию?? Как мне сделать список, который будет жить внутри класса? причем, двумерный


Ответы (1 шт):

Автор решения: Дамир Ходжаев

Вроде норм

class Calculator:
    history = [[], []]

    def __init__(self, a, b, act, c):
        self.a, self.b, self.act, self.c = a, b, act, c
        Calculator.history[1] = (self.a, self.b, self.act, self.c)


Calculator(1, 2, 3, 4)
print(Calculator.history) # [[], (1, 2, 3, 4)]
→ Ссылка