program story

모듈 및 / 또는 패키지에서 Python 클래스 구성

inputbox 2020. 12. 30. 08:09
반응형

모듈 및 / 또는 패키지에서 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

반응형