본문 바로가기
Python/Data Structure

[Python] 특정 변수가 list/str/int/dict인지 확인하기

by 전봇대파괴자 2021. 10. 5.

코드를 조금만 길게 작성해도 변수가 많아지고,

어떤 변수의 타입이 기억나지 않는 경우가 종종 있죠. 

 

또 변수의 자료형을 기준으로 if~ else문을 사용해야 할 때도 있습니다. 

 

그럴 때 아래와 같은 코드로 특정 변수의 자료형을 쉽게 확인할 수 있습니다. 

isinstance를 이용해 해당 변수의 type은 물론, list인지 dict인지 같은 자료형까지 확인할 수 있습니다. 

예시를 보겠습니다. 

sample_dict = {'a': 1, 'b': 2, 'c': [3, 4, 5]}

if isinstance(sample_dict,  dict):
    print('자료형은 dictionary입니다!')
else:
    print('자료형은 dictionary가 아닙니다!')
    

>> 자료형은 dictionary입니다!

이번엔 list로 시험해 보겠습니다.

sample_dict = {'a': 1, 'b': 2, 'c': [3, 4, 5]}

for k,v in sample_dict.items():
    if isinstance(v, list):
        print('자료형은 list입니다!')
    else:
        print('자료형은 list가 아닙니다!')
        
        
>> 자료형은 list가 아닙니다!
>> 자료형은 list가 아닙니다!
>> 자료형은 list입니다!

보다시피 자료형을 잘 출력하는 것을 볼 수 있습니다. 

str, int 자료형 역시 잘 구분합니다. 

sample_dict = {'a': 1, 'b': 2, 'c': [3, 4, 5]}

for k,v in sample_dict.items():
    if isinstance(v, int):
        print('자료형은 int입니다!')
    else:
        print('자료형은 int가 아닙니다!')
        

>> 자료형은 int입니다!
>> 자료형은 int입니다!
>> 자료형은 int가 아닙니다!