>source

class A:
    def __init__(self):
        print('I am A')

class B(A):
    def b(self):
        print('I am B.b')

class C(A):
    def c(self):
        x.b()

if __name__ == '__main__':
    x = B()
    y = C()
    y.c()

'y.c ()'에 관해서는 어떻게 작동합니까? C.c ()에서 인스턴스 x를 인스턴스화하지 않고 어떻게 호출 할 수 있습니까? 누군가 도와 줄 수 있다면 대단히 감사합니다.

  • 답변 # 1

    그럴 수 없습니다. 귀하의 경우 x.b() 에 전화하면 발생합니다.  이름이 x전역변수가 있습니다   B 유형이 있습니다 . 이전 행에서초기화되었으며 x = B() 와 함께 .

    이 코드는 외부 변수에 의존하며 일반적으로 실패합니다. 오브젝트 자체 메소드를 호출하려면 self.b() 를 사용하십시오.  대신

  • 이전 작업자가 시작한 후 데이터 흐름 작업이 실행되지 않습니까?
  • 다음 swift - iOS에서 GCM에서 FCM으로