Notice
Recent Posts
Recent Comments
코드 위의 하루 (A Day on the Code)
🐍 [기초] 변수와 자료형 – 파이썬의 첫걸음에서 헷갈렸던 것들 본문
처음 파이썬을 배웠을 때,
“변수”랑 “자료형”은 너무 기본이라
사람들이 다들 “그건 그냥 외우면 돼~”라고 말했었다.
그래서 나도 그냥
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문을 내가 언제부터 진짜로 '이해하고 썼는지'를 정리해보려고 한다.
이번에는 단순 문법이 아니라, 흐름 제어 구조가 왜 중요한지에 대해 말해보려 한다.
'🍚전공이 밥 먹여준다믄 > 🐍 파이썬' 카테고리의 다른 글
| 🐍 [기초] 리스트 컴프리헨션 10분 컷 정리 – for문보다 짧고, 더 파이썬답게 (0) | 2025.05.15 |
|---|---|
| 🐍 [기초] input과 print 진짜 이해하기 – 단순한 입출력에서 흐름이 시작된다 (0) | 2025.05.15 |
| 🐍 [기초] def 함수는 왜 써야 해? return은 왜 넣지? (0) | 2025.05.15 |
| 🐍 [기초] if문, for문 진짜 이해하기 – 흐름 제어를 처음으로 체감한 순간 (0) | 2025.05.15 |
| 🐍 [기초] 프로그래밍이란? 파이썬은 왜 다를까? (0) | 2025.04.01 |