2013-03-03 4 views
2

동일한 파일 내에서 클래스를 호출하려면 어떻게해야합니까? 내 파일은 다음과 같습니다.Python : 동일한 파일에서 클래스를 호출하는 방법

class one: 
    def get(self): 
     return 1 

class two: 
    def init(self): 
     get class one get() 

get() 클래스를 가져 오는 방법. 내 하찮은 영어 실력에 죄송하다는 말씀을 드리고 싶습니다.

+3

여기에 수업이 있어야합니까? 아니면 간단한 기능으로 충분할까요? – uselpa

+0

예 기억하기 쉽도록 기능 혼합을 막기 위해 필요했습니다. – Natsume

+0

"기능 혼합 방지"란 무엇을 의미합니까? 나는 당신이 정말로 당신 수업을 ** ** 당신의 설명을 위해 ** 이해하고 있다고 생각하지 않습니다. –

답변

6

당신은 정적 방법으로 바꿀 경우 직접 One.get()를 호출 할 수 있습니다 다음 @staticmethod없이

class One: 
    @staticmethod 
    def get(): 
     return 1 

class Two: 
    def __init__(self): 
     val = One.get() 

, 당신은 전화를 할 수 있도록 One의 인스턴스를 필요 get() :

class One: 
    def get(self): 
     return 1 

class Two: 
    def __init__(self): 
     one = One() 
     val = one.get() 
+0

감사드립니다. +1 : D – Natsume

+0

@ J.F.Sebastian : 잘 했어, 고마워. 응답을 주셔서 감사합니다. – NPE

3

NPE의 답변이 맞습니다. 또한 이름 (문자열 값)을 사용하여 클래스를 호출하려는 경우 다음 해결책을 사용할 수 있습니다.

class_name_type = globals()['class_name'] 
class_object = class_name_type() 
+0

+1 : D – Natsume

+0

또는 단지'obj = class_name()' – jfs

관련 문제