파이썬 객체의 속성과 메서드를 확인하는 방법
파이썬은 강력한 동적 타이핑 언어로, 프로그램 실행 중에도 객체가 어떤 구조를 가지고 있는지 쉽게 살펴볼 수 있습니다. 이를 위해 파이썬은 객체의 속성(attribute), 프로퍼티(property), 그리고 메서드(method)에 대한 정보를 수집할 수 있는 다양한 내장 함수들을 기본적으로 제공합니다.
객체 정보 조회에 사용되는 주요 내장 함수
type()— 객체의 자료형(클래스)을 반환합니다.dir()— 객체가 가지고 있는 속성과 메서드의 목록을 반환합니다.id()— 객체의 고유한 식별자(메모리 주소 기반)를 반환합니다.getattr()— 객체에서 지정한 이름의 속성 값을 가져옵니다.hasattr()— 객체에 특정 속성이 존재하는지 여부를 확인합니다.globals()— 현재 전역 네임스페이스(전역 심볼 테이블)를 딕셔너리 형태로 반환합니다.locals()— 현재 지역 네임스페이스를 딕셔너리 형태로 반환합니다.callable()— 객체가 호출 가능한지(함수, 메서드 등인지) 여부를 판단합니다.
특히 유용한 함수: type()과 dir()
이 중에서도 type()과 dir()은 객체를 분석할 때 가장 많이 활용됩니다. type()은 객체가 어떤 클래스의 인스턴스인지 즉시 알려주며, dir()은 해당 객체가 사용할 수 있는 모든 속성과 메서드의 집합을 보여줍니다.
간단한 예시는 다음과 같습니다:
my_list = [1, 2, 3]
print(type(my_list)) # <class 'list'>
print(dir(my_list)) # ['append', 'clear', 'copy', 'count', ...]이처럼 내장 함수들을 적절히 조합하면, 문서화되지 않은 객체라도 그 내부 구조를 빠르게 파악하고 디버깅이나 코드 탐색에 활용할 수 있습니다.