Size: a a a

2020 December 22

US

Uladzislau Safronau in Python
AttributeError: CustomImmutableMatrix has no attribute history.
источник

楽園松本 in Python
И в какой строке?
источник

楽園松本 in Python
45?
источник

US

Uladzislau Safronau in Python
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-63-7afd002cf085> in <module>
    68 # n = CustomImmutableMatrix([4, 5, 6])
    69 # m.history
---> 70 m.elementary_row_op(op="n<->m",row1=0,row2=1).elementary_row_op(op="n<->m",row1=1,row2=2)

/nix/store/lps474q1yp1g9ccw43n92122w6zh7pqp-python3-3.7.7-env/lib/python3.7/site-packages/sympy/matrices/matrices.py in elementary_row_op(self, op, row, k, row1, row2)
   834             return self._eval_row_op_multiply_row_by_const(row, k)
   835         if op == "n<->m":
--> 836             return self._eval_row_op_swap(row1, row2)
   837         if op == "n->n+km":
   838             return self._eval_row_op_add_multiple_to_other_row(row, k, row2)

<ipython-input-63-7afd002cf085> in _eval_row_op_swap(self, row1, row2)
    42         arrow_latex = self.swap_rows_latex(row1, row2)
    43         #print(arrow_latex)
---> 44         self.history.append("&&" + arrow_latex + matrix_latex(result))
    45         return result
    46

/nix/store/lps474q1yp1g9ccw43n92122w6zh7pqp-python3-3.7.7-env/lib/python3.7/site-packages/sympy/matrices/matrices.py in getattr(self, attr)
  2338         else:
  2339             raise AttributeError(
-> 2340                 "%s has no attribute %s." % (self.class.nameclass.name, attr))
  2341
  2342     def len(self):

AttributeError: CustomImmutableMatrix has no attribute history.
источник

楽園松本 in Python
Uladzislau Safronau
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-63-7afd002cf085> in <module>
    68 # n = CustomImmutableMatrix([4, 5, 6])
    69 # m.history
---> 70 m.elementary_row_op(op="n<->m",row1=0,row2=1).elementary_row_op(op="n<->m",row1=1,row2=2)

/nix/store/lps474q1yp1g9ccw43n92122w6zh7pqp-python3-3.7.7-env/lib/python3.7/site-packages/sympy/matrices/matrices.py in elementary_row_op(self, op, row, k, row1, row2)
   834             return self._eval_row_op_multiply_row_by_const(row, k)
   835         if op == "n<->m":
--> 836             return self._eval_row_op_swap(row1, row2)
   837         if op == "n->n+km":
   838             return self._eval_row_op_add_multiple_to_other_row(row, k, row2)

<ipython-input-63-7afd002cf085> in _eval_row_op_swap(self, row1, row2)
    42         arrow_latex = self.swap_rows_latex(row1, row2)
    43         #print(arrow_latex)
---> 44         self.history.append("&&" + arrow_latex + matrix_latex(result))
    45         return result
    46

/nix/store/lps474q1yp1g9ccw43n92122w6zh7pqp-python3-3.7.7-env/lib/python3.7/site-packages/sympy/matrices/matrices.py in getattr(self, attr)
  2338         else:
  2339             raise AttributeError(
-> 2340                 "%s has no attribute %s." % (self.class.nameclass.name, attr))
  2341
  2342     def len(self):

AttributeError: CustomImmutableMatrix has no attribute history.
Понял
источник

楽園松本 in Python
Поменяй в init местами вызов инит и self.history
источник

楽園松本 in Python
Если и это не заработает, то надо думать
источник

US

Uladzislau Safronau in Python
楽園松本
Если и это не заработает, то надо думать
к сожалению, не помогло
источник

楽園松本 in Python
Uladzislau Safronau
к сожалению, не помогло
И если ты выносишь за init history -- тоже не работает?
источник

楽園松本 in Python
Только без self
источник

楽園松本 in Python
'ass CustomImmutableMatrix(ImmutableMatrix):
  history = []

   def __init__(self, *args, **kwargs):
источник

US

Uladzislau Safronau in Python
楽園松本
И если ты выносишь за init history -- тоже не работает?
работает, но не так
как статическое свойство, одно на все экземпляры
источник

k

k4leg in Python
Он удаляет все "ненужные" ему атрибуты экземпляра просто. "Почему?" — уже другой вопрос.
источник

US

Uladzislau Safronau in Python
k4leg
Он удаляет все "ненужные" ему атрибуты экземпляра просто. "Почему?" — уже другой вопрос.
проклятая динамическая типизация
источник

k

k4leg in Python
Uladzislau Safronau
проклятая динамическая типизация
Ну в доках просто на это не указали. Действительно, зачем о таком кому-то говорить, что он удаляет их?
источник

楽園松本 in Python
Uladzislau Safronau
работает, но не так
как статическое свойство, одно на все экземпляры
Почему статическое?
источник

US

Uladzislau Safronau in Python
楽園松本
Почему статическое?
не знаю почему
источник

楽園松本 in Python
Uladzislau Safronau
не знаю почему
источник

楽園松本 in Python
Нет никаких статических эффектов
источник

US

Uladzislau Safronau in Python
Переслано от Данила Масленников...
@classmethod
     def _new(cls, *args, **kwargs):
         instance = super()._new(*args, **kwargs)
         instance.history = []
        return instance
вместо init
вроде работает
источник