정교한 파일 교환기 (더 나은 용어가없는)에서 작업 중이며 문제가 발생했습니다. 클래스 푸 시작하면파이썬 : 다른 클래스에서 초기 메서드가 호출 될 때 다른 클래스 메서드를 호출하는 클래스 메서드
class Foo(object):
def __init__(self):
self.foo = Bar()
self.foo.baz()
class Bar(object):
def baz(self):
print("baz")
self.qux()
def qux(self):
print("qux")
, 전화를 걸고 "self.foo.baz()는"아무 것도 전혀 출력에 인쇄되지 않습니다 : 간체, 아래의 코드를 고려하십시오. 어째서? 이 경우 Foo 내에서 Bar 클래스 내의 메서드를 제대로 호출 할 수 있습니까?
나를 위해 잘 작동합니다. '__init__'는 클래스를 인스턴스화 할 때까지 실행되지 않습니다. 클래스를 초기화하지 않고 인스턴스를 초기화합니다. – BrenBarn
재현 할 수 없습니다. 'Foo()'를 호출하면 "baz"와 "qux"가 모두 인쇄됩니다. – perimosocordiae
위의 코드와'Foo()'는'baz'와'qux'를 출력합니다. 거기에 문제 없습니다. –