02.1 변수

윤혜민·박현규 · 6 / 30

본격적으로 파이썬 문법을 공부하겠습니다. 가장 먼저 공부할 내용은 변수입니다. 사실 변수는 이미 01장 파이썬과의 첫 만남에서 사용했습니다. 다음 코드를 눈으로 보면 기억이 되살아날 겁니다.

name = "바로"

이 코드는 name이라는 변수에 "바로"라는 문자열을 저장한 겁니다. 파이썬 변수에는 이렇게 문자열 뿐만 아니라 다양한 형태의 값을 저장할 수 있습니다. 그리고 이렇게 값을 저장하는 행위를 '변수에 값을 할당한다'라고 합니다.

name = "바로"
age = 35
height = 164
is_student = False

예를 들어 name = "바로"는 ‘변수 name에 "바로"라는 문자열을 할당했다’라고 하고, age = 35는 ‘변수 age에 35라는 숫자를 할당했다’라고 합니다. 할당이라는 건 이렇게 age라고 이름을 지은 상자에 35를 보관하는 모습을 상상하면 됩니다.

아주 상투적인 설명이지만 이만한 설명도 없습니다. 이 이미지를 상상하면서 변수를 사용하는 이유와 변수의 콘셉트를 이해해봅시다.

변수를 사용하는 이유

변수를 사용하는 이유는 무엇일까요? 크게 3가지 이유가 있습니다.

값에 이름을 붙이는 효과가 있어서 값을 기억하기 쉽다

예를 들어 id = 12354151과 같은 값이면 12354151을 외우기보다는 id라는 변수 이름을 외우는 것이 더 편하겠죠. 코드에서도 마찬가지입니다. 이처럼 변수는 복잡한 값에 의미 있는 이름을 붙일 수 있어 유용합니다.

재사용할 수 있어 유용하다

변수에 저장한 값은 언제든 재활용할 수 있습니다. 예를 들어 다음과 같이 코드를 작성하면 home_address에 할당한 집 주소를 여러 번 사용하여 다양한 형태의 출력을 확인해볼 수 있습니다.

home_address = "서울시 강남구 테헤란로 123"
print(f"집 주소: {home_address}")
print(f"택배 배송지: {home_address}")
print(f"주민등록상 주소: {home_address}")

집 주소: 서울시 강남구 테헤란로 123

택배 배송지: 서울시 강남구 테헤란로 123

주민등록상 주소: 서울시 강남구 테헤란로 123

만약 변수가 없다면 다음과 같이 매번 주소를 직접 print(...) 안에 입력해야 합니다.

print(f'집 주소: "서울시 강남구 테헤란로 123"')
print(f'택배 배송지: "서울시 강남구 테헤란로 123"')
print(f'주민등록상 주소: "서울시 강남구 테헤란로 123"')

집 주소: 서울시 강남구 테헤란로 123

택배 배송지: 서울시 강남구 테헤란로 123

주민등록상 주소: 서울시 강남구 테헤란로 123

변수가 있고 없고의 차이가 명확하게 보일 것입니다. 변수에 값을 할당한 다음에는 변수 이름만 이용하여 간편하게 반복 출력할 수 있어 유용합니다.

수정이 용이하다

변수에 할당한 값은 쉽게 수정하여 사용할 수 있습니다. 예를 들어 앞에서 작성한 코드에서 주소의 값만 바꾸면 나머지 코드는 아예 건들지 않아도 됩니다. 다음과 같이 123을 999로만 바꾸고 나머지 코드는 그대로 유지하면 주소를 다양한 방식으로 출력하는 프로그램을 그대로 사용할 수 있습니다. 1번의 수정으로 3배의 이득을 본 셈입니다.

home_address = "서울시 강남구 테헤란로 <span class="mark">999</span>"
print(f"집 주소: {home_address}")
print(f"택배 배송지: {home_address}")
print(f"주민등록상 주소: {home_address}")

집 주소: 서울시 강남구 테헤란로 999

택배 배송지: 서울시 강남구 테헤란로 999

주민등록상 주소: 서울시 강남구 테헤란로 999

정리하자면 변수는 코드를 읽기 쉽고, 수정하기 쉽고, 재사용하기 쉽게 만들어주는 유용한 문법입니다. 박스에 이름표를 붙이거나, 공책에 메모하고, 정리하는 등의 행위를 연상하면 변수의 개념을 쉽게 이해할 수 있을 겁니다.