У меня есть проблема TypeError: 'NoneType' object is not iterable
в моем коде для записи метода внутри класса с именем Qrely
, и некоторые методы в методе __init__
выполняются следующим образом: def __init__(self,ah=(),bh=(),av=(),bv=(),aph=(),bph=(), apv=(),bpv=()):
метод, в котором у меня проблема:
Я пытался изменить тип экземпляров с помощью отправки, например, ah:Tuple
, но я получаю ту же ошибку
def qrelay_op(self,n, phi, alpha, delta):
self.ah = symbols(print("a_H1={:d}".format(n + 1)))
self.bh = symbols(print("b_H1={:d}".format(n + 1)))
self.av = symbols(print("a_V1={:d}".format(n + 1)))
self.bv = symbols(print("b_V1={:d}".format(n + 1)))
op = 0
for i in range(0,n-1):
op += phi[i] * (self.ah[i]*self.bh[i] + self.av[i]*self.bv[i])
B = 1/sqrt(2)*np.array([[1, 1],[-1, 1]])
self.aph = symbols(print("a'_H1={:d}".format(n + 1)))
self.bph = symbols(print("b'_H1={:d}".format(n + 1)))
self.apv = symbols(print("a'_V1={:d}".format(n + 1)))
self.bpv = symbols(print("b'_V1={:d}".format(n + 1)))
for i in range(0,n-1):
op = np.transpose(op, self.bh[i], self.ah[i+1], self.bph[i], self.aph[i+1], B)
op = np.transpose(op, self.bv[i], self.av[i+1], self.bpv[i], self.apv[i+1], B)
op = np.transpose(op, self.ah[0], self.av[0], self.aph[0], self.apv[0], self.rotatmatrix(alpha))
op = np.transpose(op, self.bh[n-1], self.bv[n-1], self.bph[n-1], self.bpv[n-1], self.rotatmatrix(delta))
syms = Qrely(self.ah, self.bh, self.av, self.bv, self.aph, self.bph, self.apv, self.bpv)
return syms, op
когда я проверяю код, например:
A=Qrely()
print(A.qrelay_op(3, np.array([np.pi, np.pi/2, np.pi/5]), np.pi/4, np.pi/3))
я получаю эту ошибку:
line 693, in symbols for name in names:TypeError: 'NoneType' object is not iterable
я не могу (не могу найти этот объект без типа в моем коде, или я что-то упускаю, даже мне все кажется правильным