학습 자료
클래스, 인스턴스 여부 확인하기
특정 객체가 어떤 클래스의 인스턴스인지 확인하려면 어떻게 해야 할까요?
파이썬의 내장 함수 isinstance()를 사용하면 이를 간단히 확인할 수 있습니다.
isinstance() 사용 방법
isinstance() 함수는 다음과 같이 사용합니다.
isinstance() 사용 방법
isinstance(객체, 클래스)
이 함수는 다음 조건에 따라 값을 반환합니다.
-
객체가 지정한 클래스의 인스턴스이거나, 해당 클래스를 상속받은 하위 클래스의 인스턴스라면
True를 반환합니다. -
그렇지 않으면
False를 반환합니다.
isinstance() 사용 예시
아래는 Dog 클래스의 인스턴스인 my_dog이 여러 클래스의 인스턴스인지 확인하는 예제입니다:
isinstance() 사용 예시
class Animal: pass class Fish: pass class Dog(Animal): pass my_dog = Dog() print(isinstance(my_dog, Dog)) # True print(isinstance(my_dog, Animal)) # True print(isinstance(my_dog, Fish)) # False print(isinstance(my_dog, object)) # True print(isinstance(my_dog, int)) # False
위 코드에서 my_dog 객체는 Dog 클래스의 인스턴스이므로 isinstance(my_dog, Dog)는 True를 반환합니다.
또한 Dog 클래스는 Animal 클래스를 상속받았으므로 isinstance(my_dog, Animal)도 True를 반환합니다.
하지만 Fish 클래스의 인스턴스가 아니므로 isinstance(my_dog, Fish)는 False를 반환합니다.
마지막으로 object 클래스는 모든 클래스의 부모 클래스이므로 isinstance(my_dog, object)는 True를 반환합니다.
Quiz
0 / 1
다음 빈칸에 알맞은 단어는 무엇일까요?
isinstance 함수는 인자로 전달한 객체가 주어진 클래스의 인스턴스이거나 해당 클래스를 상속받은 클래스의 인스턴스인 경우 True를 반환합니다.
서브(sub)
슈퍼(super)
동일한(same)
다른(different)
학습 자료
AI 튜터
도움말