반응형
파이썬에서는 주어진 인스턴스가 특정 클래스/데이터 타입인지 검사해주는 함수가 있는데요. 바로 isinstance함수입니다. isinstance함수의 사용법은 아래와 같습니다.
isinstance(인스턴스, 클래스/데이터타입)
이때 인스턴스가 특정 클래스/데이터 타입과 일치할 경우에는 True를 아닌 경우에는 False를 리턴해줍니다.
# int 인스턴스인지 검사, True 출력
result = isinstance(1, int)
print(result)
# float 인스턴스인지 검사, True 출력
result = isinstance(1.345, float)
print(result)
# str 인스턴스인지 검사, True 출력
result = isinstance("It's string", str)
print(result)
# dict 인스턴스인지 검사, True 출력
result = isinstance({'림코딩':33,'최번개':26}, dict)
print(result)
# list 인스턴스인지 검사, True 출력
result = isinstance([1,2,3], list)
print(result)
class Animal:
pass
# Class 검사 , True 출력
animal_class = Animal()
result = isinstance(animal_class, Animal)
print(result)
주의할 점은 isinstance함수는 상속관계에도 적용이 됩니다.
class Animal:
pass
# Class 검사
animal_class = Animal()
result = isinstance(animal_class, Animal)
print(result)
class Monkey(Animal):
pass
# Class 검사시 자식 클래스를 체크해서 맞으면 True 값을 반환해 줍니다.
monkey_class = Monkey()
result = isinstance(monkey_class, Monkey)
print(result)
# 부모 클래스로 해도 True 값을 반환해줍니다.
result = isinstance(monkey_class, Animal)
print(result)
반응형
'Python' 카테고리의 다른 글
[Python] 파이썬 raise 구문 (0) | 2019.11.25 |
---|---|
[Python] 파이썬 예외 구분하기 (except ... as ...) (0) | 2019.11.25 |
[Python] 파이썬 dict 자료형의 update 함수 (0) | 2019.11.25 |
[Python] 파이썬 예외 처리 - try except else finally구문 (0) | 2019.10.25 |
[파이썬] 피보나찌 수열 값 구하기 (반복문/재귀함수) (0) | 2019.10.24 |