2011-11-18 4 views
2

두 개의 파일이있는 프로그램이 있습니다. 내 주요 로직을 가진 main.py와 클래스를 가진 class.py. 내 문제는 class.py 클래스의 함수에서 main.py 함수를 호출하는 방법을 알아낼 수 없다는 것이다. 다음은 간단한 예제 :클래스 멤버가 아닌 클래스와 별도의 스크립트에서 함수 호출

에서 class1.py

main.py 물론

def display1(): 
    print('Main Menu') 

def main(): 
    create_obj = Class1(value1) 
    new_object = Class1.main_logic() 
    if new_object == 'y': 
     display1() 

if __name__ == '__main__': 
    main() 

내가 거기에 도움을 사용할 수있는 이런 일을 구성하는 더 나은 방법이 있는지에

class Class1: 

    def __init__(self, value): 
     self.value = value 

    def main_logic(self): 
     if self.value == 'y': 
      return self.value 
     else: 
      self.value == 'n': 
       #main()?? How would I call main() in main.py? 

게다가.

+0

왜 당신이 그것을로 메인에서 호출하는 기능 Class1의 모든 사용자가 필요로하는 이음새? – Mark

+0

예제를 단순화하려고했습니다. 이 경우 네, Class1에 main()을 추가 할 수 있습니다. 내가 정말로 묻고있는 것은 클래스에없는 함수와 클래스에있는 함수의 개별 파일을 호출하는 방법이다. –

답변

1

이것은 일반적으로 코드를 작성하는 가장 좋은 방법은 아닙니다,하지만 당신은 할 수 : import main; main.display1()과 같이 (또는 import whateverTHEfileNAMEis 경우의 main.py하지의) :

class Class1: 
    def __init__(self, value): 
       self.value = value 

    def main_logic(self): 
        if self.value == 'y': 
      return self.value 
     else: 
      self.value == 'n': 
       import main 
       main.display1() 
+0

감사! main() 및 display1() 클래스를 사용하는 것이 더 나은 방법일까요? 이것이 어떻게 적절히 구조화되어야하는지에 대한 다른 제안? –

+1

그래, 난 display1() Class1과 같은 파일에 넣어 (Class1의 방법이 될 필요는 없어) main() main.py에서 떠날거야. – chown

+0

도움을 주셔서 감사합니다. –

관련 문제