Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬에 객체 검사기(Object Inspector)가 있을까?

파이썬에는 하나의 객체를 통합적으로 들여다보는 단일한 내장 함수나 표준 '객체 검사기'는 존재하지 않습니다. 대신 여러 내장 함수와 표준 라이브러리 모듈을 조합하면, 검사 대상 객체의 속성(attribute), 프로퍼티(property), 메서드(method)를 충분히 파악할 수 있습니다.

대표적인 객체 검사 도구

가장 널리 쓰이는 도구는 다음과 같습니다.

  • type() — 객체의 자료형(클래스)을 확인합니다.
  • dir() — 객체가 가진 속성과 메서드 이름 목록을 반환합니다.
  • vars() — 객체의 __dict__를 반환해 저장된 속성을 딕셔너리 형태로 보여줍니다.
  • inspect 모듈 — 함수 시그니처, 소스 코드, 클래스 계층 구조 등 훨씬 깊은 수준의 정보를 제공합니다.

예를 들어 어떤 객체의 구성 요소를 빠르게 훑어보고 싶다면 아래처럼 활용할 수 있습니다.

type(obj)          # 객체의 타입 확인
dir(obj)           # 사용 가능한 속성·메서드 목록
vars(obj)          # 인스턴스 속성을 딕셔너리로 확인

그 외 유용한 내장 함수들

이 밖에도 객체 내부를 살펴보는 데 유용한 내장 함수들이 여럿 있습니다.

  • id() — 객체의 고유 식별자(메모리 주소 기반)를 반환합니다.
  • getattr() — 문자열 이름으로 객체의 속성 값을 안전하게 가져옵니다.
  • hasattr() — 객체에 특정 속성이나 메서드가 존재하는지 검사합니다.
  • globals() / locals() — 현재 전역·지역 네임스페이스를 딕셔너리로 확인합니다.
  • callable() — 해당 객체가 호출 가능한 객체인지 판별합니다.

결론적으로, 파이썬에서 '객체 검사'는 하나의 마법 같은 함수가 아니라 이런 도구들을 목적에 맞게 조합하는 방식으로 이루어집니다. 간단한 확인은 type(), dir(), vars()로 충분하고, 더 정밀한 분석이 필요하다면 inspect 모듈을 활용하는 것이 좋습니다.