Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python 튜플 요소의 데이터 타입 순서 확인 방법 – isinstance 활용 가이드


개요

튜플 내부의 요소들이 특정 데이터 타입 순서대로 배치되어 있는지 확인해야 하는 경우, isinstance 메서드와 연결 조건문(chained if)을 활용할 수 있습니다.

isinstance 메서드는 주어진 객체가 특정 데이터 타입에 속하는지 여부를 검사하는 파이썬 내장 함수입니다. 단순히 type()으로 자료형을 비교하는 것보다 상속 관계까지 고려할 수 있어 더 안전하고 권장되는 방식입니다.

연결 조건문(chained if)은 중첩된 선택문을 다르게 표현한 형태로, 여러 개의 if 조건을 and 연산자로 결합하여 그 결과를 한 번에 평가하는 방식입니다. 즉, 모든 조건이 참일 때만 최종 결과가 참(True)이 됩니다.

파이썬의 리스트는 정수, 실수, 문자열 등 서로 다른 자료형의 값(이기종 값)을 하나의 컨테이너에 함께 저장할 수 있으므로, 튜플과 리스트가 섞인 복합 구조에서도 각 위치의 자료형을 검사할 수 있습니다.

아래는 실제 동작 예시입니다.

예제

my_tuple = ('Hi', ['there', 'Will'], 67)

print("The tuple is : ")
print(my_tuple)

my_result = isinstance(my_tuple, tuple) and isinstance(my_tuple[0], str) and isinstance(my_tuple[1], list) and isinstance(my_tuple[2], int)

print("Do all instances match the required data type in the same order ? ")
print(my_result)

출력 결과

The tuple is :
('Hi', ['there', 'Will'], 67)
Do all instances match the required data type in the same order ?
True

코드 설명

  • 문자열, 리스트, 정수를 포함하는 튜플을 정의한 뒤 콘솔에 출력합니다.
  • isinstance 메서드를 사용해 튜플 자체가 tuple인지, 첫 번째 요소가 str, 두 번째 요소가 list, 세 번째 요소가 int인지 순서대로 검사합니다.
  • 튜플 내 모든 요소에 대해 검사를 수행해야 하므로, 각 조건을 and 연산자로 연결합니다.
  • 평가 결과(불리언 값)를 변수 my_result에 할당합니다.
  • 최종 결과를 콘솔에 출력합니다. 모든 조건이 충족되면 True가 출력됩니다.

마무리

이처럼 isinstanceand 연산자를 조합하면, 복잡한 중첩 조건문 없이도 튜플이나 리스트의 구조와 자료형 순서를 간결하게 검증할 수 있습니다. 데이터 유효성 검사나 API 응답 검증 등 실무에서 유용하게 활용할 수 있는 패턴입니다.