티스토리 뷰

728x90

Python에서 변수의 타입을 확인하거나, 어떤 타입과 일치하는지 조건문으로 체크하는 방법에 대해서 알아보겠습니다.

 

1. isinstance(변수, type) 으로 타입 체크

isinstance(변수, type)는 변수의 타입이 type일 때 True를 리턴하며, 아래와 같이 조건문으로 특정 타입일 때 어떤 동작을 수행시킬 수 있습니다.

# 정수 타입
x = 10
if isinstance(x, int):
    print("x is an integer")

# 실수 타입
x = 3.14
if isinstance(x, float):
    print("x is a float")

# 문자열 타입
x = "Hello"
if isinstance(x, str):
    print("x is a string")

# 리스트 타입
x = [1, 2, 3]
if isinstance(x, list):
    print("x is a list")

# 튜플 타입
x = (1, 2, 3)
if isinstance(x, tuple):
    print("x is a tuple")

# 딕셔너리 타입
x = {"name": "John", "age": 30}
if isinstance(x, dict):
    print("x is a dictionary")

# 집합 타입
x = {1, 2, 3}
if isinstance(x, set):
    print("x is a set")

# Boolean 타입
x = True
if isinstance(x, bool):
    print("x is a boolean")

# None 타입
x = None
if x is None:
    print("x is None")

# 숫자 타입 확인하기(정수, 실수)
x = 2 + 3j
if isinstance(x, (int, float, complex)):
    print("x is a number")

# 숫자 타입 확인하기(정수, 실수, 복소수)
x = 2 + 3j
if isinstance(x, (int, float, complex)):
    print("x is a number")

# 이터러블 타입 확인하기
x = [1, 2, 3]
if isinstance(x, (list, tuple, set)):
    print("x is an iterable")

# 함수 타입 확인
def my_function():
    pass
if callable(my_function):
    print("my_function is a function")

# 모듈 타입 확인
import math
if isinstance(math, type(math)):
    print("math is a module")

결과:

x is an integer
x is a float
x is a string
x is a list
x is a tuple
x is a dictionary
x is a set
x is a boolean
x is None
x is a number
x is a number
x is an iterable
my_function is a function
math is a module

 

2. type() 함수로 타입 출력

type(변수)는 변수의 타입을 아래와 같이 출력합니다.

x = 10
print(type(x))  # <class 'int'>

y = 3.14
print(type(y))  # <class 'float'>

z = "Hello"
print(type(z))  # <class 'str'>

my_list = [1, 2, 3]
print(type(my_list))  # <class 'list'>

my_dict = {"name": "John", "age": 30}
print(type(my_dict))  # <class 'dict'>

my_set = {1, 2, 3}
print(type(my_set))  # <class 'set'>

is_true = True
print(type(is_true))  # <class 'bool'>

nothing = None
print(type(nothing))  # <class 'NoneType'>

결과:

<class 'int'>
<class 'float'>
<class 'str'>
<class 'list'>
<class 'dict'>
<class 'set'>
<class 'bool'>
<class 'NoneType'>
728x90
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함