Error Handling

99. [Error Handling] [Python] 튜플(Tuple)과 소괄호 오류

천재단미 2025. 1. 20. 17:52
728x90
반응형

 

 

Error Code

오류 원인 

( 3 ) vs ( 3,    ). ???

 

 

오류 해결 방법

 

1. 튜플(Tuple)과 소괄호의 차이

  • 튜플(Tuple):
    • 파이썬에서 (a, b, c)와 같은 형태로 값을 묶어 저장하는 불변(immutable) 데이터 타입.
    • 튜플은 소괄호를 사용하지만, 소괄호만 사용한다고 해서 모두 튜플이 되는 것은 아님.
  • 단일 요소 튜플:
    • 튜플로 단일 값을 저장하려면 반드시 쉼표(,)가 포함되어야 함.
    
    single_tuple = (3,)  # 튜플
    single_value = (3)   # 단순 정수(int)

 

  • 차이점 예제:
print(type((3,)))  # 출력: <class 'tuple'>
print(type((3)))   # 출력: <class 'int'>

2. 루프에서 튜플 사용

  • 튜플은 반복 가능한(iterable) 객체이므로, for 루프에서 사용할 수 있음.
  • 예제:출력:
my_tuple = (1, 2, 3)
for value in my_tuple:
    print(value)

 

1
2
3

3. 튜플과 정수 혼동 오류

  • 단일 요소 튜플과 정수를 혼동하여 발생하는 오류 사례:
  • 출력:
# 올바른 튜플 선언
my_tuple = (3,)

# 루프에서 튜플 사용
for value in my_tuple:
    print(value)
3

 

  • 잘못된 선언:
  • 오류:
my_tuple = (3)  # 튜플이 아니라 정수(int)가 됨
for value in my_tuple:  # TypeError 발생
    print(value)
TypeError: 'int' object is not iterable

4. 루프에서 변수 이름 사용 오류

  • 루프에서 사용할 변수가 정의되지 않았거나, 잘못된 타입으로 정의되었을 경우:
  • 오류:
# 예제: 정수를 루프로 반복하려는 시도
number = 3
for value in number:  # TypeError 발생
    print(value)

 

  • 해결:
TypeError: 'int' object is not iterable

5. 튜플의 인덱싱과 반복

  • 튜플은 리스트와 마찬가지로 인덱싱(indexing)이 가능.
  • 루프를 활용하여 튜플의 각 요소를 접근하거나, 특정 인덱스의 요소를 가져올 수 있음.
  • 출력:
my_tuple = (1, 2, 3)

# 인덱싱
print(my_tuple[0])  # 출력: 1

# 루프와 인덱스 출력
for index, value in enumerate(my_tuple):
    print(f"Index {index}: {value}")
Index 0: 1
Index 1: 2
Index 2: 3

 


결론

  1. 튜플은 소괄호와 쉼표로 정의하며, 단일 요소 튜플일 경우 쉼표를 반드시 포함.
  2. 정수와 튜플을 혼동하지 않도록 주의.
  3. 반복 가능한 객체(iterable)만 for 루프에서 사용 가능.
  4. enumerate()를 사용하면 튜플의 인덱스와 값을 동시에 처리 가능.
728x90
반응형
home top bottom
}