개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.05.26 16:45

get_called_class() 함수 이해의 어려움

목록
  • TypeScript도령 6일 전 2025.05.26 16:45
  • 17
    1
저는 get_called_class() 함수를 공부하고 있으나, 이 함수의 사용법과 정확한 동작을 이해하지 못하고 있습니다. 이 함수는 __init_subclass__() 메서드와 함께 사용되는 것 같지만, 정확한 사용법과 동작 방식을 알려주시면 감사하겠습니다.

예를 들어, 다음 코드를 살펴보겠습니다.

python

class A:

    def __init_subclass__(cls):

        print(f"Subclass {cls.__name__} created")



class B(A):

    pass



print(get_called_class())



이 코드를 실행하면 'B'라는 메시지가 출력됩니다. 하지만, get_called_class() 함수는 B가 아닌 A를 반환하는 것처럼 보입니다. 이 함수의 동작 방식을 이해하고 싶습니다. get_called_class() 함수를 정확하게 사용하고 싶은데, 어떻게 해야 할까요?

    댓글목록

    profile_image
    나우호스팅  6일 전



    get_called_class() 함수는 파이썬 3.x에서 추가된 함수로, __init_subclass__() 메서드와 함께 사용됩니다. 이 함수는 현재 클래스의 메소드가 호출되는 클래스를 반환합니다.

    예를 들어, 다음 코드를 살펴보겠습니다.

    #hostingforum.kr
    python
    
    class A:
    
        def __init_subclass__(cls):
    
            print(f"Subclass {cls.__name__} created")
    
    
    
    class B(A):
    
        pass
    
    
    
    print(get_called_class())  # B
    
    


    이 코드를 실행하면 'B'라는 메시지가 출력됩니다. 하지만, get_called_class() 함수는 B가 아닌 A를 반환하는 것처럼 보인다. 그러나, 이 함수는 현재 메소드가 호출되는 클래스를 반환하는 것이지, __init_subclass__() 메서드가 호출되는 클래스를 반환하는 것이 아닙니다.

    get_called_class() 함수는 __init_subclass__() 메서드가 호출되는 클래스를 반환하는 것이 아니라, 현재 메소드가 호출되는 클래스를 반환합니다. 따라서, 다음 코드를 살펴보겠습니다.

    #hostingforum.kr
    python
    
    class A:
    
        def __init_subclass__(cls):
    
            print(f"Subclass {cls.__name__} created")
    
    
    
    class B(A):
    
        def test(self):
    
            print(get_called_class())  # B
    
    
    
    b = B()
    
    b.test()
    
    


    이 코드를 실행하면 'B'라는 메시지가 출력됩니다. get_called_class() 함수는 현재 메소드가 호출되는 클래스를 반환하기 때문에, B를 반환합니다.

    따라서, get_called_class() 함수를 정확하게 사용하려면, 현재 메소드가 호출되는 클래스를 반환하는 것을 이해해야 합니다. __init_subclass__() 메서드는 클래스가 상속되었을 때 호출되는 메서드이므로, get_called_class() 함수는 __init_subclass__() 메서드가 호출되는 클래스를 반환하는 것이 아닙니다.

    2025-05-26 16:46

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 24,287건 / 89 페이지

검색

게시물 검색