이 프로그램을 실행할 때 점수가 개인 변수인 경우에만 정상적으로 실행될 수 있습니다. 속성의 일부 기능인가요? self.score = 점수로만 설정하면 '파이썬 객체를 호출하는 동안 최대 재귀 깊이가 초과되었습니다'라는 오류가 나타납니다. 답변 부탁드립니다
이러한 혼란의 이유는 여러분이 Python의 getter 데코레이터와 setter 데코레이터에 충분히 익숙하지 않기 때문입니다
score 속성에 대해 setter 데코레이터를 선언한 후 실제로 점수를 할당하는 것은 setter 데코레이터에 바인딩된 메서드를 호출하는 것입니다
따라서 setter가 액세스하려는 멤버 변수는 setter 메서드와 동일한 이름을 가질 수 없습니다. 그렇지 않으면 끝없는 반복과 같습니다.
물론, 최대 반복 깊이를 초과하는 오류가 보고됩니다
이러한 혼란의 이유는 여러분이 Python의 getter 데코레이터와 setter 데코레이터에 충분히 익숙하지 않기 때문입니다
score 속성에 대해 setter 데코레이터를 선언한 후 실제로 점수를 할당하는 것은 setter 데코레이터에 바인딩된 메서드를 호출하는 것입니다
따라서 setter가 액세스하려는 멤버 변수는 setter 메서드와 동일한 이름을 가질 수 없습니다. 그렇지 않으면 끝없는 반복과 같습니다.
으아악물론, 최대 반복 깊이를 초과하는 오류가 보고됩니다