모듈 및 / 또는 패키지에서 Python 클래스 구성
하나의 파일에 둘 이상의 공용 클래스를 넣는 좋은 이유가있는 경우에도 파일 당 하나의 공용 클래스를 갖는 Java 규칙을 좋아합니다. 제 경우에는 동일한 인터페이스의 대체 구현이 있습니다. 그러나 파일을 별도의 파일에 넣으면 import 문에 중복 된 이름 (또는 잘못된 모듈 이름)이 있습니다.
import someConverter.SomeConverter
반면 someConverter
파일 (및 모듈) 이름과 SomeConverter
클래스 이름입니다. 이것은 나에게 꽤 우아하지 않은 것 같습니다. 모든 대체 클래스를 하나의 파일에 넣으면보다 의미있는 import 문이 생성됩니다.
import converters.SomeConverter
그러나 모든 관련 클래스를 단일 모듈 파일에 넣으면 파일이 상당히 커질 까 봐 걱정됩니다. 여기서 Python 모범 사례는 무엇입니까? 파일 당 하나의 클래스가 특이한가요?
많은 것이 개인적인 취향입니다. 파이썬 모듈을 사용하면 각 클래스를 별도의 파일에 보관하면서 import converters.SomeConverter
(또는 from converters import SomeConverter
)
파일 구조는 다음과 같습니다.
* converters
- __init__.py
- baseconverter.py
- someconverter.py
- otherconverter.py
그런 다음 __init__.py
파일에서 :
from baseconverter import BaseConverter
from otherconverter import OtherConverter
Zach의 솔루션은 Python 3에서 중단됩니다. 여기에 고정 솔루션이 있습니다.
많은 것이 개인적인 취향입니다. 파이썬 모듈을 사용하면 각 클래스를 별도의 파일에 보관하면서 import converters.SomeConverter
(또는 from converters import SomeConverter
)
파일 구조는 다음과 같습니다.
* converters
- __init__.py
- baseconverter.py
- someconverter.py
- otherconverter.py
그런 다음 __init__.py
파일에서 :
from converters.baseconverter import BaseConverter
from converters.otherconverter import OtherConverter
참조 URL : https://stackoverflow.com/questions/3842616/organizing-python-classes-in-modules-and-or-packages
'program story' 카테고리의 다른 글
IIS 7.5를 사용하여 ASP.NET MVC에서 Json 결과를 압축하는 방법 (0) | 2020.12.30 |
---|---|
jQuery-복잡한 HTML 조각을 만드는 모범 사례 (0) | 2020.12.30 |
info.plist에서 "응용 프로그램에 iPhone 환경이 필요함"키의 의미는 무엇입니까? (0) | 2020.12.30 |
dateutil없이 파이썬에서 시간대 인식 문자열을 datetime으로 변환하는 방법은 무엇입니까? (0) | 2020.12.30 |
constexpr 함수는 언제 컴파일 타임에 평가됩니까? (0) | 2020.12.30 |