2011-10-20 2 views
7

내가 프로젝트를 짓고 있어요 나는 다음과 같은 문제로 실행 한에서 유지 코드입니다. 의미, 그들은 동일한 모듈에서 함께 가야하고 나는 그것의 코드가 꽤 불쾌한 유지하게 라인의파이썬 :</p> <p>내가 구현 한 하위 클래스, 그들 각각의 코드의 약 250 라인을 갖는 모듈

from mymodule import SubclassA, SubclassB 

하지만 내 모듈 파일이 수천, 그들을 가져올. 지금은 쉽게 유지 보수 할 수 있도록하기 위해 별도의 파일에있는 각 클래스가 있지만이처럼 사용할 수 있습니다

from subclassa import SubclassA 
from subclassb import SubclassB 

이 어떤 이해가되지 않습니다 그것은 정말 끔찍합니다.

멋진 해결책이 있습니까? 그렇지 않다면 앞서 말한 것이 더 나은 해결책입니까?

+1

아마도 패키지가 필요합니다. http://docs.python.org/tutorial/modules.html (6.4) – danihp

+0

"수천 줄의 코드로 인해 코드가 꽤 엉성 해집니다"? 정말? 왜? 실제 문제가 더 구체적 일 수 있습니까? –

답변

5

두 번째 목록에 표시된대로 항상 from subclassa ... 수입품을 패키지 __init__.py에 넣을 수 있습니다. 그런 다음 첫 번째 업체 정보를 작성하면서 패키지에서 직접 사용할 수 있습니다.

+0

고마워요! 그게 효과가 있었어. 필자는'__init __. py' 파일에 패키지가 들어있는 패키지를 만들었습니다. –

1

별도의 파일로 두 번째 해결 방법을 선호합니다. 수입은 그렇게 끔찍한 것이 아닙니다.

귀찮게하는 경우, 다른 파일에 캡슐화 한 다음 해당 파일에서 모든 클래스를 간접적으로 가져올 수 있습니다. 따라서 주요 import는 첫 번째 솔루션처럼 보일 것이지만, mymodule 파일의 유일한 내용은 두 번째 솔루션의 코드 일 것입니다.

from mymodule import SubclassA, SubclassB 

나를 알고하자

import SubclassA, SubclassB 

을 한 후 다른 프로젝트에서 당신은 단순히이 모듈에서 이러한 클래스를 가져올 수 있습니다

0

당신은 각각의 파일에서 mymodule 모듈 내 두 클래스를 가져올 수 있습니다 이것이 당신이 찾고있는 것입니다.