변수
값, 객체, 변수
- 값(value):
8000,"Python"처럼 데이터가 나타내는 내용 - 객체(object): Python이 값을 다루기 위해 사용하는 데이터 단위
- 변수(variable): 객체에 연결한 이름
대입(assignment)은 오른쪽 표현식을 먼저 계산하고, 그 결과인 객체에 왼쪽 변수 이름을 연결하는 동작.
unit_price = 8000
people = 5
total = unit_price * people
total
실행 결과
40000
unit_price ──▶ 객체(값: 8000)
people ──────▶ 객체(값: 5)
total ───────▶ 객체(값: 40000)
하나의 객체에 여러 변수 이름을 연결할 수도 있음.
old_price = unit_price
unit_price ─┐
├──▶ 객체(값: 8000)
old_price ──┘
변수 이름을 다른 객체에 다시 연결할 수 있음. 이때 같은 객체에 연결된 다른 변수 이름은 기존 연결을 유지.
unit_price = 9000
unit_price ──▶ 객체(값: 9000)
old_price ───▶ 객체(값: 8000)
unit_price를 다시 연결해도 old_price는 값이 8000인 객체와의 연결을 유지. total을 다시 계산하면 새로 연결된 unit_price의 값을 사용.
total = unit_price * people
total
실행 결과
45000
대입과 비교
=는 오른쪽 표현식의 결과 객체에 왼쪽 변수 이름을 연결하는 대입 연산자. 두 값이 같은지 비교할 때는 == 사용.
변수 이름
- 영문자, 한글과 같은 유니코드 문자, 숫자, 밑줄
_사용 가능 - 숫자로 시작 불가
- 공백과
-,?같은 기호 사용 불가 if,for,import같은 Python 예약어 사용 불가- 알파벳 대소문자 구분
- 여러 영어 단어는 소문자와 밑줄로 연결하는 방식 권장
| 사용 가능 | 사용 불가 | 이유 |
|---|---|---|
student_count | student count | 공백 포함 |
score2 | 2score | 숫자로 시작 |
average_score | average-score | 하이픈 포함 |
학생수 | for | Python 예약어 |
의미를 짐작할 수 있는 이름 사용 권장. x, a처럼 짧은 이름은 간단한 계산이나 임시 값에만 사용.