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
결론
- 튜플은 소괄호와 쉼표로 정의하며, 단일 요소 튜플일 경우 쉼표를 반드시 포함.
- 정수와 튜플을 혼동하지 않도록 주의.
- 반복 가능한 객체(iterable)만 for 루프에서 사용 가능.
- enumerate()를 사용하면 튜플의 인덱스와 값을 동시에 처리 가능.
728x90
반응형
'Error Handling' 카테고리의 다른 글
140. [Error Handling] [Streamlit] : Streamlit 사용 시 에러 발생 (0) | 2025.02.03 |
---|---|
105. [Error Handling] [Python] 내장 함수 이름 재정의로 발생하는 오류 (0) | 2025.01.21 |
94. [Error Handling] [Python] 주피터 노트북 : 탭 대신 스페이스 사용시 오류와 해결책 (0) | 2025.01.19 |
77. [Error Handling] [JAVA] 디버깅 방법: System.out.println() 활용하기 (0) | 2025.01.15 |
75. [Error Handling] [JAVA] 기존 테이블 복사 시 발생할 수 있는 오류 7가지 (0) | 2025.01.14 |