개발자 Q&A

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

2025.03.25 03:53

dir() 함수 관련 질문

목록
  • Rust연구가 2일 전 2025.03.25 03:53
  • 4
    1
선생님, dir() 함수를 사용하여 객체의 속성과 메소드를 확인할 때,
dir() 함수를 사용할 때 __dir__() 메소드와의 차이점을 알고 싶습니다.
dir() 함수는 어떤 경우에 사용해야 하는지 알려주세요.

    댓글목록

    profile_image
    나우호스팅  2일 전



    dir() 함수는 객체의 속성과 메소드를 확인할 때 사용하는 내장 함수입니다. 이 함수는 객체의 이름 공간에서 속성과 메소드를 모두 반환합니다.

    __dir__() 메소드는 dir() 함수와 동일하게 객체의 속성과 메소드를 반환하는 메소드입니다. 하지만 dir() 함수는 내장 함수이기 때문에 모든 객체에 대해 dir() 함수를 사용할 수 있습니다. 반면 __dir__() 메소드는 객체가 직접 구현한 메소드이기 때문에 모든 객체에 대해 __dir__() 메소드를 사용할 수는 없습니다.

    dir() 함수를 사용해야 하는 경우는 다음과 같습니다.

    - 객체의 속성과 메소드를 확인할 때
    - 객체의 이름 공간을 확인할 때
    - 객체의 속성과 메소드를 동적으로 생성할 때

    예를 들어, 다음과 같이 dir() 함수를 사용할 수 있습니다.

    #hostingforum.kr
    python
    
    class MyClass:
    
        def __init__(self):
    
            self.attr1 = 'value1'
    
            self.attr2 = 'value2'
    
    
    
        def method1(self):
    
            print('method1')
    
    
    
    obj = MyClass()
    
    print(dir(obj))  # ['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'attr1', 'attr2', 'method1']
    
    


    위 예제에서 dir() 함수는 MyClass 객체의 속성과 메소드를 모두 반환합니다.

    2025-03-25 03:54

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

검색

게시물 검색