본문으로 건너뛰기

클래스, 인스턴스 여부를 확인하는 방법

클래스, 인스턴스 여부 확인하기

isinstance()는 파이썬 내장 함수로, 객체가 주어진 클래스의 인스턴스인지, 또는 서브클래스(subclass, 자식클래스)의 인스턴스인지 확인합니다.


isinstance() 사용 방법

isinstance() 함수는 다음과 같이 사용합니다.

isinstance() 사용 방법
isinstance(객체, 클래스)

isinstance 함수는 인자로 전달한 객체가 주어진 클래스의 인스턴스이거나 해당 클래스를 상속받은 서브 클래스의 인스턴스인 경우 True를 반환합니다.

그렇지 않으면 False를 반환합니다.


isinstance() 사용 예시

아래 예제는 Dog 클래스의 인스턴스 my_dogDog 클래스와 Animal 클래스의 인스턴스인지 확인합니다:

isinstance() 사용 예시
class Animal:
pass

class Dog(Animal):
pass

my_dog = Dog()

print(isinstance(my_dog, Dog)) # True

print(isinstance(my_dog, Animal)) # True

print(isinstance(my_dog, object)) # True

print(isinstance(my_dog, int)) # False

이 예제에서 my_dog 객체는 Dog 클래스와 Animal 클래스, 그리고 모든 클래스의 최상위 클래스인 object의 인스턴스로 확인됩니다. 하지만 int 클래스의 인스턴스는 아닙니다.