2010-12-29 10 views
1

필자는 반복적으로 사용되는 몇 가지 기능을 정의하고 일부 상수를 추가하는 유틸리티 모듈을 보유하고 있습니다. 나는 Python 가져 오기 문제

이의 내가 클래스 A에서 일하고 있어요 가정 해 봅시다 ... 문제가 있지만 이러한 상수를 가져 오기를 실행 해요, 난 명명 된 내 상수의 클래스가 아마 만드는 해요

from Utils.Constants import A as DistinctA 
class A(object): 
    .... Implementation .... 
    some_var = DistinctA.SOME_CONSTANT 

class Utils(object): 
    class Constants(object): 
    class A(object): 
     SOME_CONSTANT = "Constant" 

이것은 자바와 너무 흡사합니다. 그렇다면 통치자와 내 주먹을 소리 치십시오.

해당 클래스를 가져올 때 상수라는 모듈이 없다는 오류가 발생합니다. 이 파이썬 초보자는 무엇이 누락 되었습니까?

답변

3

'from'다음의 식별자는 모듈을 가리켜 야합니다. 당신은 수업을 참조 할 수 없습니다. 네가 중첩 된 클래스가 '파이썬'인지 여부를 말할 수있는 자격이 없지만 이전에 그렇게 해본 적이 없다. 나는 A 클래스를 포함하는 constants.py 모듈을 만드는 경향이 있습니다. 그런 다음 당신이 할 수 있습니다 : 다음

utils/ 
utils/__init__.py 
utils/constants.py 

당신이 할 수 있습니다 :

from utils.constants import A as DistinctA 
당신이 정말로 내부 유틸을 살고 그 정수를 원하는 경우

from constants import A as DistinctA 

, 당신은 유틸에게 패키지를 만들 수 있습니다