본문 바로가기

Python

[Python] 파이썬 자료형 확인하는 isinstance 함수

반응형



파이썬에서는 주어진 인스턴스가 특정 클래스/데이터 타입인지 검사해주는 함수가 있는데요. 바로 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) 
반응형