728x90
반응형
type() 내장 함수
파이썬에서 객체에 대한 클래스 형을 확인하기 위해서 type() 내장 함수를 이용합니다.
import types
class Rectangle(object):
def __init__(self, width, height):
self.width = width
self.height = height
r = Rectangle(3, 4)
print(type(r))
"""
<class '__main__.Rectangle'>
"""
type() 함수를 이용하면 다음과 같은 형식으로도 객체의 형을 확인할 수도 있지만, 좋은 방법은 아닙니다.
if ( type(r) == type(Rectanble(0, 0)) ): # 추가적이 객체를 생성함
print('r is "Rectangle" instance.')
"""
r is "Rectangle" instance.
"""
if ( type(r).__name__ == Rectanble.__name__ ): # 동일한 이름의 클래스가 존재할 수 있음
print('r is "Rectangle" instance.')
"""
r is "Rectangle" instance.
"""
위와 같이 비교하는 것보다 일반적인 방법은 아래와 같이 is 연산자를 이용하는 것입니다.
i = 10
if ( type(i) is int ):
print('i is int')
"""
i is int
"""
f = 10.0
if ( type(f) is float ):
print('f is float')
"""
f is float
"""
string = '10.0'
if ( type(string) is str ):
print('string is str')
"""
string is str
"""
d = dict()
if ( type(d) is dict ):
print('d is dict')
"""
d is dict
"""
if ( type(r) is Rectanble ):
print('r is "Rectangle" instance.')
"""
r is "Rectangle" instance.
"""
isinstance() 내장 함수
특정 클래스로부터 인스턴스화된 것인지 확인하기 위해서는 isinstance() 내장 함수를 이용하면 됩니다.
if ( isinstance(r, Rectangle) ):
print('r is "Rectangle" instance.')
"""
r is "Rectangle" instance.
"""
참고자료
'프로그래밍 > Python' 카테고리의 다른 글
[Python] 파일 크기(File Size) 확인 방법 (0) | 2021.10.11 |
---|---|
[Python] 디스크 용량 확인하기 (0) | 2021.10.06 |
[python] PIP로 설치한 패키지 내부 디버깅하기 (in VSCode) (0) | 2021.09.29 |
[python] socketio Clinet : One or more namespaces failed to connect error (0) | 2021.09.28 |
flask RESTful API의 CORS 설정 (0) | 2021.09.09 |