가이드라인

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

특정 객체가 어떤 클래스의 인스턴스인지 확인하려면 어떻게 해야 할까요?

파이썬의 내장 함수 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를 반환합니다.

Mission
0 / 1

다음 빈칸에 알맞은 단어는 무엇일까요?

isinstance 함수는 인자로 전달한 객체가 주어진 클래스의 인스턴스이거나 해당 클래스를 상속받은 클래스의 인스턴스인 경우 True를 반환합니다.
서브(sub)
슈퍼(super)
동일한(same)
다른(different)

가이드라인

AI 튜터

배포

디자인

업로드

수업 노트

즐겨찾기

도움말

코드 에디터

코드 실행
코드 생성

실행 결과