파이썬(Python)에서는 주어진 객체가 어떤 클래스(타입)인지 알려주는 type 클래스와 해당 객체가 특정 클래스인지 아닌지 확인해주는 isinstance 함수가 있다. 이번 포스팅에서는 type와 isinstance에 대하여 알아본다.
type와 isinstance 사용법
1) 너 누구야? 객체 확인하기 : type
type은 객체(클래스)가 어떤 객체(클래스)인지 알려주는 클래스이다. type은 첫 번째 인자로 객체를 받는다. 아래 코드를 통해 사용법을 알아보자.
class MyClass:
def __init__(self, x=None):
self.x=x
a = 'hello world!'
b = range(3)
c = MyClass()
print(type(a))
print(type(b))
print(type(c))
type의 단점은 특정 객체인지 확인만 한다는 것이다. 만약 주어진 객체가 str인지 아닌지 확인하려면 다음과 같이 해줘야 할 것이다.
class_name = 'str'
print(str(type(a)) == f"<class '{class_name}'>") ## a는 str 객체인가?
print(str(type(b)) == f"<class '{class_name}'>") ## b는 str 객체인가?
2) 객체 일치 여부 : isinstance
type라도 위와 같이 주어진 객체가 특정 객체인지 확인할 수는 있다. 하지만 매번 저렇게 하기는 쉽지 않다. 그래서 나온 것이 isinstance이다. isinstance의 사용법은 다음과 같다.
isinstance( 객체 1, 객체 2 )
위 사용법의 의미는 '객체 1'이 '객체 2'와 같은지 아닌지 여부를 알아보겠다는 것이다. 긴 말 필요 없다. 코드를 통해 살펴보자.
class MyClass:
def __init__(self, x=None):
self.x=x
a = 'hello world!'
b = range(3)
c = MyClass()
print(isinstance(a, str)) ## a는 str 객체인가?
print(isinstance(b, range)) ## b는 range 객체인가?
print(isinstance(c, MyClass)) ## c는 MyClass 객체인가?
'프로그래밍 > Python' 카테고리의 다른 글
파이썬(Python) - 예외(Exception) 클래스(Class) 만들기 (0) | 2022.09.28 |
---|---|
파이썬(Python) - 제너레이터(generator)에 대해서 알아보자. (2) | 2022.09.27 |
파이썬(Python) - 클래스(객체) 속성 존재 확인, 속성 변경하기, 속성 값 확인, 속성 삭제 (feat. hasattr, setattr, getattr, delattr) (3) | 2022.09.26 |
파이썬(Python) 셋(Set)에 대하여 알아보기 (33) | 2022.09.22 |
파이썬(Python) tqdm 사용법 알아보기 (5) | 2022.09.21 |
댓글