파이썬에서 3x3 매트릭스 클래스를 만들려고합니다. 2D 배열을 올바르게 초기화하는 데 어려움이 있습니다.파이썬에서 클래스의 2D 배열 초기화
다음 코드에서는 Matrix3x3에 특성 m이 없다는 오류가 표시됩니다. 앞에 m을 초기화하면 'm'이 정적 변수처럼 작동하는 것처럼 보이므로 원하지 않습니다.
class Matrix3x3:
#[1 0 0]
#[0 1 0]
#[0 0 1]
def __init__(self, m):
#self.m[row][column]
self.m[0][0] = m[0][0];
self.m[0][1] = m[0][1];
self.m[0][2] = m[0][2];
self.m[1][0] = m[1][0];
self.m[1][1] = m[1][1];
self.m[1][2] = m[1][2];
self.m[2][0] = m[2][0];
self.m[2][1] = m[2][1];
self.m[2][2] = m[2][2];
init에'm'을 추가하지 말아라. 생성자 내에서 m을 선언한다. – Abhi
[가능한 파이썬에서 클래스 변수를 정의하는 올바른 방법] (http://stackoverflow.com/questions/9056957/correct-way- 파이썬에서 정의 클래스 변수들) – Abhi
'm'을 잊어 버리고 'self.m = [xrange (3)에서 _에 대해 _ [xrange (3)에서]]' –