코드 위의 하루 (A Day on the Code)

🐍 [기초] 변수와 자료형 – 파이썬의 첫걸음에서 헷갈렸던 것들 본문

🍚전공이 밥 먹여준다믄/🐍 파이썬

🐍 [기초] 변수와 자료형 – 파이썬의 첫걸음에서 헷갈렸던 것들

code.with.siyeon 2025. 5. 15. 23:04

처음 파이썬을 배웠을 때,
“변수”랑 “자료형”은 너무 기본이라
사람들이 다들 “그건 그냥 외우면 돼~”라고 말했었다.
그래서 나도 그냥
a = 3, b = 'hello', c = [1,2,3] 이런 거 써보면서
“음... 이게 변수고, 이게 자료형이구나~” 하고 넘겼는데…
🫠 실제로 쓰기 시작하니까 하나도 모르겠더라.


🔹 파이썬의 변수는 '이름표'다 🎯

내가 가장 먼저 혼란스러웠던 건 이거였다:

a = [1, 2, 3]
b = a
b.append(4)
print(a)  # ??

🧠 나의 예상: a = [1, 2, 3]
👀 실제 출력: a = [1, 2, 3, 4]

❗ 왜 a도 같이 바뀌는 건데??

이때 처음 알게 됐다.
파이썬에서 변수는 **'값을 복사하는 것'이 아니라 '참조(주소)를 가리키는 것'**이라는 사실을.

즉, a와 b는 같은 리스트를 함께 바라보고 있었던 거다.


🔹 자료형의 종류는 알겠는데, 언제 쓰는지가 문제였지

자료형 설명 예시
int 정수 a = 10
float 실수 pi = 3.14
str 문자열 name = "Siyeon"
bool 논리값 is_valid = True
list 순서O, 변경O [1,2,3]
tuple 순서O, 변경❌ (1,2,3)
set 순서❌, 중복❌ {1,2,2,3} → {1,2,3}
dict 키-값 쌍 {'name':'시연', 'age':20}
 

이건 수업 때 분명 들었고, 시험에도 나왔지만
사실 진짜 이걸 제대로 이해한 건 프로젝트 하면서였다.


🔹 내가 프로젝트 중에 직접 써보고 느낀 점

  • 리스트는 순서를 유지하면서 계속 값 추가할 때 좋아서
    게시글 목록, 댓글 모음 등에 쓰기 좋았다.
  • 딕셔너리는 진짜 자주 썼는데,
    사용자 정보나 설정값 저장할 때 user['email'], user['nickname'] 이런 식으로 키로 바로 접근 가능한 게 너무 편했다.
  • 튜플은 잘 안 썼는데,
    한 번 값을 고정해 놓고 싶을 때 (좌표값 같은 거) 쓸 수 있구나… 하고 깨달았다.

💡 그리고 가장 늦게 이해한 것: is vs ==

a = [1, 2, 3]
b = a
c = [1, 2, 3]

print(a == b)  # True
print(a is b)  # True
print(a == c)  # True
print(a is c)  # False

==는 값이 같은지,
is는 같은 객체인지를 비교한다는 걸 몰랐고,
결국 id() 함수 써보면서 겨우 이해했다.


✍️ 정리하자면…

  • 파이썬의 변수는 값을 담는 통이 아니라, 값을 가리키는 이름표
  • 자료형은 단순히 외울 게 아니라 언제, 왜 쓰는지가 중요
  • 코딩 실습할 때 직접 출력해보는 게 이해에 훨씬 도움됨
  • 몰랐던 건 내가 멍청해서가 아니라, 경험이 없어서일 뿐이었다 😊

이 글을 나중에 파이썬을 시작하는 나의 후배나
지금 불안한 내 과거에게 보여주고 싶다.
“괜찮아, 너는 곧 이해하게 될 거야.”


📌 다음 글에서는 if문과 for문을 내가 언제부터 진짜로 '이해하고 썼는지'를 정리해보려고 한다.
이번에는 단순 문법이 아니라, 흐름 제어 구조가 왜 중요한지에 대해 말해보려 한다.