2013-08-08 6 views
2
다음

내 코드의 단순화 된 버전입니다 : TestClass.py클래스 자체에서 클래스의 객체를 인스턴스화하는 방법은 무엇입니까?

에서 파일을

class TestClass: def func1(self): pass def func2(self): HERE I WANT TO CALL func1 

그리고 main.py 파일

: 처음

TestClass1 = TestClass() 
TestClass1.func2() 

, I 다음과 같이 func1func2에서 실행하려고 시도했습니다 (TestClass.py) :

TestClass.func2() 

그러나이 경우 나는 다음과 같은 오류 메시지를 수신 한

는 :

TypeError: unbound method func1() must be called with TestClass instance as first argument (got str instance instead) 

그래서 나는이 문제가 TestClass 자체 내에 TestClass1 인스턴스가 없다는 것을 이해하는 방식은, 그것은 단지 존재 메인 (호출) 코드에서.

TestClass.func2(TestClass1) 

을 그리고 그에 따라 필수 인수로 func2에 (클래스)를 추가 한 다음 main.py에서 func2를 호출하는 동안 그래서 위해 내가 TestClass의 인스턴스를 통과 한 것을 수정합니다. 결과적으로 정상적으로 작동하는 것 같습니다.하지만 그렇게 할 수있는 방법인지 확인하고 싶었습니다.

+5

'self.func1()'형식을 사용하십시오. – falsetru

답변

3

나는 파이썬 전문가가 아니지만 과 func2을 호출해야합니다. self 참조를 사용하면 자바에서 this과 유사합니다.

관련 문제