답변:
그것은 당신의 요구에 정직하게 달려 있습니다. 대부분의 경우 기능 모듈이 원하는 것입니다.
파이썬 클래스 (imho)는 C #, C ++ 또는 Java의 클래스와 같이 생각해서는 안되며 함수 집합을 더 큰 부모로 그룹화 해야하는 논리적 인 이유가 있어야합니다. 데이터 구조는 이에 대한 좋은 예입니다. 일반적으로 사용되는 느슨하게 수집 된 함수 세트 대신 클래스에 직접 적용되는 합동 함수 세트
모듈은 유사한 시스템의 전체 계층 그룹화를위한 것입니다. 일반적으로 단일 모듈에서 모든 유틸리티 기능, 다른 모듈에서 모든 데이터, 내 데이터 계층 및 더 "상위"유형 모듈 아래의 커넥터가 있습니다. 모듈은 단지 정신적 인 그룹이기 때문에 어떤 유형의 시스템 (클래스 또는 기능, 솔직히이 둘의 혼합)에 관한 것이 아니라 모듈 아래의 시스템 간의 논리적 연결에 관한 것입니다.
기본적인 질문은 모듈 / 클래스의 다른 인스턴스 가 필요한지 여부 입니다. 파이썬 모듈은 싱글 톤 과 같습니다. 항상 같은 객체 를 참조 합니다. 즉, 인스턴스가 필요한 경우 클래스가 필요합니다.
그러나 인스턴스가 필요하지 않은 경우 "개체"를 초기 상태로 설정해야 할 수도 있습니다. 일반 모듈을 사용하면 분명히 가능하지만 일부 값을 설정하는 것보다 초기화가 복잡한 경우 클래스의 __init__가독성을 높이기 위해 코드를 초기화하는 것이 좋습니다.