
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