반응형
파이썬에서 데이터의 타입을 확인하는 방법을 알아보자.
1. type() : 입력된 인자의 타입 정보를 return한다.
# int
print(type(1234))
# float
print(type(1234.1234))
# str
print(type("str"))
# list
print(type([1, 2, 3, 4]))
# dict
print(type({'1' : 2}))
# tuple
print(type((1, 2, 3, 4)))
# function
def type_function():
pass
print(type(type_function))
결과
<class 'int'>
<class 'float'>
<class 'str'>
<class 'list'>
<class 'dict'>
<class 'tuple'>
<class 'function'>
2. isinstance() : 입력된 데이터와 체크할 타입을 인자로 받아, 타입이 일치하는지 확인한다.
타입이 일치하면 True, 일치하지 않으면 False를 return한다.
주로 타입별로 분기를 탈 때 사용한다.
# int
print(isinstance(1234, int))
# float
print(isinstance(1234.1234, float))
# str
print(isinstance("str", str))
# list
print(isinstance([1, 2, 3, 4], list))
# dict
print(isinstance({'1' : 2}, dict))
# set
print(isinstance((1, 2, 3, 4), tuple))
# int or list이면
print(isinstance([1, 2, 3, 4], (int, list)))
print(isinstance([1, 2, 3, 4], (int, float)))
결과
True
True
True
True
True
True
True
False
마지막과 같이 입력된 타입 중 하나라도 일치하면 True를 반환한다.
if isinstance(123, int):
print('Type은 int입니다')
if isinstance(123.123, float):
print('Type은 float입니다')
if isinstance('str', str):
print('Type은 str입니다')
Type은 int입니다
Type은 float입니다
Type은 str입니다
True, False를 반환하는 것을 이용하여 if문과 함께 사용하여 타입 별로 분기를 타게 활용할 수 있다.
아래와 같이 class에도 활용할 수 있다.
class TypeCheck:
print("")
type_check = TypeCheck()
print(type(type_check))
print(isinstance(type_check, TypeCheck))
결과
<class '__main__.TypeCheck'>
True
반응형
'프로그래밍 > Python' 카테고리의 다른 글
[Python] 리스트 안 딕셔너리에서 원하는 데이터 얻어오기 (0) | 2023.10.27 |
---|---|
[Python] 파이썬 스타일 가이드(PEP 8) (0) | 2023.08.12 |
[Python] 사용 중인 파이썬 버전 확인하기 (0) | 2023.08.10 |
[Python] 파이썬 경로 분리하기(파일명만 추출, 파일 확장자만 추출, 경로 추출, 경로와 파일명을 분리 등) (0) | 2023.05.20 |
[Python] 파이썬 폴더 생성, 폴더 자동 생성, 폴더 있는지 확인하기(os.mkdir, os.makedirs, os.path.isdir) (0) | 2023.03.16 |