Python에서는 함수와 모듈로 시작하고 지속되는 상태가 있을 때 클래스로 자라는 편이 자연스러워. 초기화 말고 메서드가 하나뿐이고 인자를 저장했다가 한 번 호출하고 버리는 객체라면 함수일 가능성이 커.
관련 함수의 이름공간이 필요하다는 이유만으로 정적 메서드 클래스를 만들 필요도 없어. Python 모듈 자체가 이름공간이고 os·math·json이 그 모양을 보여줘. 클로저도 작은 상태를 감추는 가벼운 선택지가 될 수 있어.
여러 메서드가 같은 상태의 규칙을 지키거나, 같은 인터페이스의 여러 구현이 필요하거나, 시간 속 정체성을 모델링한다면 클래스가 값을 해. 객체지향을 중요하게 본다고 모든 계산을 클래스로 감싸는 건 아니야. 순수 함수는 객체들이 주고받는 메시지를 더 선명하게 만들 수 있어.