관리 메뉴

개발자비행일지

Python isinstance() 파이썬 자료형 확인 본문

▶ Python

Python isinstance() 파이썬 자료형 확인

Cyber0946 2020. 7. 22. 15:02

파이썬에서 제공하는 type()과 유사하지만, 인스턴스를 대상으로 특정 클래스/데이터 타입인지 검사해주는 함수가 존재 한다. 바로 isinstance() 함수이다. 

해당 함수는 개인적으로 분석하는 오픈소스 프로젝트(드론)의 소스코드 분석중에 사용되었길래

개인 학습 목적으로 해당 내용을 정리한다. 

사용법은 다음과 같다. 

isinstance(인스턴스, 클래스/데이터타입)

사용법은 다음과 같다. 

아래와 같이 사용하면, 해당 인스턴스가 drone class인지 아닌지 판별해주고 맞으면 true 틀리면 false를 반환한다. 

class drone:
	print("I'm drone")
    pass
    
if __name__ == "__main__":
	Drone = drone()
    result = isinstance(Drone, drone)
    print(reult)

주의 할 점은 상속이다. 

만약 A라는 클래스의 자식이 B일 경우, 

B class의 인스턴스 b 에 대해서

result = isinstance(b, A)

result = isinstance(b, B)

모두 True를 반환한다.

또한 데이터 타입에도 사용할 수 있다.