반응형

파이썬에서 특정 패키지에 속한 클래스 리스트를 확인하는 방법에는 여러 가지가 있습니다. 패키지의 구조를 탐색하고 내부의 클래스를 나열하는 방법을 정리해 드릴게요.

1. dir() 함수 사용

 

dir()을 사용하면 특정 패키지 내부에 어떤 객체(클래스, 함수, 변수 등)가 있는지 확인할 수 있습니다.

 

예제:

import sklearn

print(dir(sklearn))  # sklearn 패키지 내부의 객체 목록 출력

이렇게 하면 sklearn 패키지에 포함된 모듈과 클래스, 함수 등이 나열됩니다.

2. inspect 모듈 사용

 

inspect 모듈을 활용하면 특정 패키지나 모듈에서 클래스만 필터링해서 볼 수 있습니다.

 

예제:

import inspect
import sklearn.linear_model  # 예제: sklearn의 linear_model 모듈을 탐색

# linear_model 내부에서 클래스만 추출
classes = [name for name, obj in inspect.getmembers(sklearn.linear_model, inspect.isclass)]
print(classes)

이 코드를 실행하면 sklearn.linear_model 모듈에 포함된 클래스 목록을 출력합니다.

3. pkgutil 모듈로 하위 모듈 탐색

 

특정 패키지의 서브 모듈까지 탐색하고 싶다면 pkgutil을 활용할 수 있습니다.

 

예제:

import pkgutil
import sklearn

# sklearn 패키지 내부의 하위 모듈 찾기
modules = [module.name for module in pkgutil.iter_modules(sklearn.__path__)]
print(modules)

이 코드는 sklearn 패키지의 서브 모듈 목록을 출력합니다.

4. help() 사용

 

help(패키지명)을 사용하면 패키지 내부의 클래스 및 모듈 정보를 확인할 수 있습니다.

 

예제:

import sklearn.linear_model

help(sklearn.linear_model)

이렇게 하면 sklearn.linear_model 내부의 클래스와 함수에 대한 설명을 출력합니다.

5. __dict__ 사용

 

대부분의 패키지와 모듈은 __dict__ 속성을 가지고 있으며, 이를 통해 내부의 정의된 객체들을 확인할 수 있습니다.

 

예제:

import sklearn.linear_model

print(sklearn.linear_model.__dict__.keys())  # 내부 객체 목록 출력

6. dir() + getattr() 조합

 

패키지 내부의 객체를 getattr()을 통해 직접 가져와서 클래스인지 확인하는 방법입니다.

 

예제:

import sklearn.linear_model
import inspect

# sklearn.linear_model 내부의 클래스만 필터링
for name in dir(sklearn.linear_model):
    obj = getattr(sklearn.linear_model, name)
    if inspect.isclass(obj):
        print(name)

🔹 결론

단순한 목록 확인: dir(패키지명)

클래스 필터링: inspect.getmembers(모듈명, inspect.isclass)

서브 모듈 탐색: pkgutil.iter_modules(패키지명.__path__)

상세 설명 확인: help(패키지명)

 

필요한 방법을 선택해서 사용하면 됩니다! 😊

반응형

'[Lang] Python' 카테고리의 다른 글

TypedDict란?  (0) 2025.02.20
맥에서 파이썬 여러 버전 관리하는 법  (0) 2025.02.09
파이썬 의존성을 해결하는 방법  (0) 2025.02.08
pip command 리스트  (1) 2019.11.09
country code로 timezone 구하기  (0) 2016.11.09
python에서 switch/case 처럼 쓰기  (0) 2016.09.07

+ Recent posts