1️⃣ 학습 키워드

  • 파이썬 자료형 (tuple, dict)
  • reverse(), append() 메서드 사용 제한
  • 자료형 변환 및 올바른 메서드 사용법

2️⃣ 오늘 학습 내용

오늘은 Python에서 흔히 발생하는 자료형 관련 오류를 살펴보았다. 특히 tuple과 dict 객체에서 reverse()나 append()와 같은 메서드를 호출할 때 발생하는 에러의 원인과 해결법을 학습했다.

📌 tuple은 왜 reverse()를 못 쓸까?

  • tuple은 immutable(불변) 자료형이다.
  • 즉, 한 번 생성되면 내부 데이터를 변경할 수 없다.
  • 반면, list는 mutable(가변)하며 다양한 메서드(append(), reverse() 등)를 지원한다.
my_tuple = (10, 20, 30, 40, 50)
my_tuple.reverse()  # ❌ AttributeError 발생

✅ 해결 방법: 튜플 → 리스트 변환 후 처리

✔ 방법 1: reversed() 함수 사용

my_tuple = (10, 20, 30, 40, 50)
reversed_tuple = tuple(reversed(my_tuple))
print(reversed_tuple)  # (50, 40, 30, 20, 10)

✔ 방법 2: 슬라이싱 사용

my_tuple = (10, 20, 30, 40, 50)
reversed_tuple = my_tuple[::-1]
print(reversed_tuple)  # (50, 40, 30, 20, 10)

✔ 정리

방법코드특징
reversed()tuple(reversed(my_tuple))함수형 접근
슬라이싱my_tuple[::-1]간결하고 빠름
reverse()❌ 사용 불가 (immutable 오류)tuple에서는 불가

📌 dict는 왜 append()를 못 쓸까?

  • dict는 key-value 쌍으로 데이터를 저장하는 구조.
  • list처럼 append()를 쓸 수 없음.
my_dict = {'name': 'Bob', 'age': 25}
my_dict.append('gender')  # ❌ AttributeError 발생

✅ 딕셔너리에 값 추가하는 올바른 방법

✔ 방법 1: 새 키에 값 할당

my_dict['gender'] = 'male'
print(my_dict)
# {'name': 'Bob', 'age': 25, 'gender': 'male'}

✔ 방법 2: .update() 메서드 사용

my_dict.update({'gender': 'male'})
print(my_dict)

💡 값 없이 키만 넣고 싶을 때

my_dict['gender'] = None

✔ 정리

하고 싶은 일잘못된 코드올바른 코드
항목 추가my_dict.append('gender')my_dict['gender'] = 'male' 또는 update() 사용

3️⃣ 학습하며 어려웠던 점 및 해결 방법

😕 어려웠던 점

  • tuple에도 reverse()가 있을 거라 착각함
  • dict에 append()를 쓸 수 있을 거라 오해함

🔧 해결 방법

  • 각 자료형의 mutable / immutable 특성을 다시 정리함
  • 공식 문서에서 각 자료형이 지원하는 메서드 목록 확인
  • 실습을 통해 직접 오류 메시지를 보고 원인 파악

4️⃣ 오늘의 인사이트

  • 파이썬의 기본 자료형은 각각 성격이 다르기 때문에 메서드 사용에 주의가 필요하다.
  • tuple, dict, list의 차이를 정확히 알고 있어야 오류 없이 코드를 짤 수 있다.
  • 변환(tuple ↔ list)을 통해 필요한 기능을 우회할 수 있다는 점도 유용하다.
  • 단순한 문법 에러도, 내부 원리를 이해하면 쉽게 해결할 수 있다.

🍀 TOD (Thought of the day)

“배움은 어제의 나를 넘어서는 오늘의 유일한 길이다.”
— 알버트 아인슈타인

0개의 댓글