2012-02-13 4 views
1

저는 자바 프로그래머 였고 현재 파이썬으로 변경하고 있습니다. Java에서 모든 함수는 클래스 메쏘드입니다. 그러나 파이썬에서 상황이 어떤 것인지 잘 모르겠습니다. 큐를 정의하고 큐의 크기를 알고 싶다면 최상의 디자인은 무엇입니까? 파이썬 속성 스타일

  1. 단순히 변수 self.size를 정의 읽기 전용

  2. 을 __size 만드는 방법 크기의 방법 크기()

  3. 사용 @property를 변수 __size를 정의하고 정의

제 질문은 모든 것을 메서드로 만들지 또는 private 변수를 사용할지에 관계없이 파이썬의 코딩 스타일에 초점을 맞추고 있습니다. 모든 변수에 @property getters & 세터를 사용하는 것이 더 좋습니까?

답변

3

은 그 보통 게터에, 엘리의 링크에 동의하고 손님들은 추가 cruft에 있습니다. 그러나

이 특별한 경우에, 당신은 당신이 길이를 검색 할 len(<obj>) 내장을 사용할 수 있도록 대기열의 현재 크기를 반환하는 __len__() 방법을 정의해야합니다. 다른 것들 중에서도, 여러분은 여러분의 큐가 비어 있는지를 결정하기위한 부울 값을 쉽게 얻을 수 있습니다.

+0

그래,이 특별한 경우에는 특별한 '__len__'방법이 필요하다는 데 동의했습니다. 내 대답은 속성 및 getters/setters에 관한 일반적인 조언 –