변수란? 이름 짓는 규칙부터 오류 예시까지!

2025. 6. 23. 19:36Python

변수란 무엇일까?

용어 의미

Variable (배러리어블) 데이터를 저장할 수 있는 공간 또는 이름표
값(Value) 숫자, 문자, 리스트 등 우리가 저장하고 싶은 실제 데이터
할당 연산자 = **오른쪽 값을 왼쪽 변수에 저장(assign)**하는 기호

📌 즉, 변수는 **"데이터를 담는 이름이 붙은 상자"**라고 이해하면 쉬워요!


변수 구성 요소

age = 25
  • age: 변수 이름
  • 25: 저장할 값
  • =: 할당 연산자 → 우변 값을 좌변 변수에 저장

변수 구조 그림으로 이해하기

   ┌────────────┐
   │   age      │   ← 변수 이름
   └────┬───────┘
        │
        ▼
     [   25   ]     ← 저장된 값

변수 이름 짓는 규칙 (Naming Rule)

변수는 아무 이름이나 지을 수 있는 게 아닙니다. 파이썬에는 다음과 같은 네이밍 규칙이 있어요:

규칙 예시 설명

✅ 영문자, 숫자, 밑줄(_) 사용 가능 my_score, data1 일반적인 변수
❌ 숫자로 시작 불가 1score → 오류 숫자 시작 ❌
❌ 공백 사용 불가 my name → 오류 공백 대신 _ 사용
❌ 예약어 사용 금지 for, print → 오류 파이썬 키워드는 사용 금지
✅ 대소문자 구분 Name ≠ name 서로 다른 변수로 인식됨

💡 Tip: 파이썬에서는 snake_case 스타일 (소문자 + 밑줄)이 가장 일반적입니다.


변수 값은 바꿀 수 있어요!

한 번 저장한 값도, 나중에 얼마든지 바꿀 수 있습니다.
변수는 ‘고정된 값’이 아니라 ‘데이터가 담긴 그릇’이기 때문이죠.

score = 80
print(score)   # 출력: 80

score = 95     # 새로운 값으로 덮어쓰기
print(score)   # 출력: 95

✅ 기존 값을 덮어쓸 수 있기 때문에, 변수는 다양한 상황에서 유연하게 사용할 수 있어요.


⚠️ 정의되지 않은 변수를 쓰면 오류가 발생해요

변수를 선언하지 않고 사용하면 아래와 같은 NameError가 발생합니다.

print(price)
▶ NameError: name 'price' is not defined

❗ 정의하지 않은 변수를 사용하면 “정의되지 않았다”는 에러가 발생합니다. 항상 먼저 선언한 후 사용하세요!


실습 예제: 변수 선언부터 에러까지

# 변수 선언
nickname = "Jenny"
print(nickname)     # 출력: Jenny

# 변수 값 변경
nickname = "Anna"
print(nickname)     # 출력: Anna

# 정의되지 않은 변수 사용
print(not_defined)  # NameError 발생

복습 퀴즈 (초보자용)

  1. 변수 이름으로 올바른 것은?
    • my-score ❌
    • 3score ❌
    • my_score ✅
    • for ❌
  2. 아래 코드 결과는?
x = 5
x = 10
print(x)

정답: 10 (기존 값이 10으로 덮어씌워짐)

  1. 다음 코드에서 오류가 발생하는 이유는?
print(apple)

정답: apple이라는 변수가 아직 선언되지 않았기 때문에 NameError가 발생합니다.


 핵심 요약 카드

항목 설명

변수 데이터를 저장하는 이름표
할당 연산자 = 우변의 값을 좌변 변수에 저장
변수 이름 규칙 영어, 숫자, _, 대소문자 구분, 예약어 금지
값 변경 변수는 언제든지 새 값으로 덮어쓸 수 있음
오류 발생 없는 변수 사용 시 NameError 발생

마무리 꿀팁

  • 변수는 **‘데이터에 이름을 붙여두는 행위’**라고 생각하세요.
  • 변수명은 직관적으로! 어떤 데이터를 담고 있는지 알아볼 수 있게 짓는 것이 좋아요.
  • 자주 실습하면서 변수 선언 → 값 출력 → 값 변경 → 오류 실험까지 해보면 금방 익숙해질 수 있어요.