반응형
어떤 객체가 무슨 타입인지를 알려면 type() 메서드를 활용하면 됩니다.
하지만 어떤 타입이 맞는지 참/거짓으로 체크만 하고 싶다면 isinstance()를 활용할 수 있습니다.
사용법은 간단합니다.
isinstance 메서드에 첫 번째 인자로 해당 객체를, 두번째 인자로 체크하고 싶은 타입을 넣어주면 됩니다.
def 체크_문자열(객체):
return isinstance(객체, str)
print(체크_문자열('문자'))
# >>> True
print(체크_문자열(123))
# >>> False
문자열을 넣었을 때는 True, 숫자를 넣었을 때는 False를 반환합니다.
def 체크_리스트(객체):
return isinstance(객체, list)
print(체크_리스트('문자'))
# >>> False
print(체크_리스트(123))
# >>> False
print(체크_리스트([1,2,3]))
# >>> True
다른 타입도 마찬가지로 체크할 수 있습니다.
이렇듯 isinstance를 활용하면 유효성 검사로 활용할 수 있는 함수도 만들 수 있습니다.
레퍼런스
isinstance(object, classinfo)
객체 인수가 classinfo 인수 또는 (직접, 간접 또는 가상) 하위 클래스의 인스턴스인 경우 True를 반환합니다.
객체가 주어진 유형의 객체가 아니면 함수는 항상 False를 반환합니다.
classinfo가 유형 객체의 튜플(또는 재귀적으로, 다른 튜플)이거나 여러 유형의 Union Type이면 객체가 유형 중 하나의 인스턴스인 경우 True를 반환합니다.
classinfo가 유형 또는 유형의 튜플 및 그러한 튜플이 아닌 경우 TypeError 예외가 발생합니다.
반응형
'나는 이렇게 학습한다 > Language' 카테고리의 다른 글
Python _ @classmethod, @staticmethod 란 무엇인가? (0) | 2022.03.31 |
---|---|
Python _ magic method를 사용하여 객체 커스텀하기 (0) | 2022.03.31 |
JavaScript _ forEach로 배열 반복문 돌리는 방법 (0) | 2022.03.07 |
Python _ 리스트 요소 개수 세기(dictionary, collections) (0) | 2022.03.06 |
JavaScript _ 스프레드 연산자로 배열 합치기 (2) | 2022.03.05 |