как расшифровать ссылку? И как передать Объект класс в другой
Я новичок в ООП Создал класс Дуальные числа(Аналог комплексных чисел).Где прописал возможность реализации основных алгебраических действий .Теперь нужно реализовать класс где будет реализовано +,-,,Transpose для матриц состоящих из Дуальных чисел . Как это правильно сделать? Для начала решил хотя бы инициализировать и посмотреть как будет выглядеть матрица из NUMPY , с моими объектами из класса и наткнулся на то что туда передается ссылка на объект ,а не он сам. Посоветуйте как можно расшифровать ссылку? А также смогу ли я вообще с помощью наследования передать "сущность" числа , чтоб в матрице были записаны числа в виде a + eb;
enter image description here Вот код
import math
import numpy as np
import cmath
class DualNumber():
"""Реализуем класс дуальных чисел"""
def __init__(self,real,dual):
"""Зададим само дуальное число"""
self.real = real
self.dual = dual
def __add__(self, other):
return DualNumber(self.real + other.real , self.dual + other.dual)
def __sub__(self, other):
return DualNumber(self.real - other.real, self.dual - other.dual)
def __mul__(self, other):
return DualNumber(self.real * other.real, self.dual * other.real + self.real * other.dual)
def __truediv__(self, other):
return DualNumber(self.real / other.real, (self.dual * other.real - self.real * other.dual) / (other.real * other.real))
def __str__(self):
if self.dual == 0:
result = "%.2f+0.00\u03B5" % (self.real)
elif self.real == 0:
if self.dual >= 0:
result = "0.00+%.2f\u03B5" % (self.dual)
else:
result = "0.00-%.2f\u03B5" % (abs(self.dual))
elif self.dual > 0:
result = "%.2f+%.2f\u03B5" % (self.real, self.dual)
else:
result = "%.2f-%.2f\u03B5" % (self.real, abs(self.dual))
return result
def Sin(self):
"""Возвращает значение дуального Синуса"""
return DualNumber(math.sin(self.real), self.dual * math.cos(self.real))
def Cos(self):
"""Возвращает значение дуального Косинуса"""
return DualNumber(math.cos(self.real), - self.dual * math.sin(self.real))
def InfoAboutNumber(self):
"""Возвращает значение Реальной и Дуальной части числа"""
print("Реальная часть числа = " + str(self.real))
print("Дуальная часть числа = " + str(self.dual))
class DualMatrix(DualNumber):
"""Реализуем класс дуальных Матриц"""
def __init__(self,matrix):
self.matrix = matrix
DualNumber1 = DualNumber(2,1)
DualNumber2 = DualNumber(3,10)
x = DualNumber(2,1)
y = DualNumber(5,6)
print(x+y)
print(x.Cos())
a = np.array([DualNumber(2, 1), DualNumber(3, 10)])
print(a)
print(type(DualNumber(2, 1)))
Пытался расшифровать через (*) ; Не вышло