이번 시간에 배울 것은 변수(variable)입니다. 변수는 무엇일까요? 값이나 데이터를 저장하는 이름이나 공간을 변수라 합니다. 언제든 변할 수 있기 때문에 변수입니다.
정숫값을 가리키는 변수
자, 제 책상에는 시계, 라이터, 칫솔, 펜, 일주일 째 물 마실 때 쓰고 있는 종이컵 등이 있습니다. 제 시계가 얼마일까요? 5천 원? 아닙니다. 그냥, 제 시계 값은 10만 원이라고 하겠습니다.
그럼 제 시계를 사고 싶은 사람이 있다고 합시다. 제 시계 값은 얼마일까요? 부르는 게 값입니다. 제가 백만 원 달라고 하면 백만 원짜리 시계가 되는 겁니다.
그럼 시계 값을 프로그램으로 표현해 볼까요?
>>> watch = 100000
제 시계가 십만 원이라는 것을 이렇게 써 보았습니다.
그럼, 라이터도 같은 방법으로 표현해 볼까요?
>>> lighter = 300
라이터는 300원이라고 해봤습니다.
변수를 이용해 숫자를 계산하기
그럼, 저한테서 시계와 라이터를 사려면 얼마를 주어야 할까요? 시계를 사려면 십만 원이 아니라 백만 원을 주셔야 한답니다. 그럼 시계 값을 올려야겠죠?
>>> watch = 1000000
아까 십만 원이던 시계가 이젠 백만 원이 되었군요. 그럼 합이 얼마인가요?
눈으로 계산하는 분도 계시죠? 그걸 컴퓨터한테 시켜 봅시다.
>>> watch + lighter 1000300
오우, 역시 머리 잘 돌아가는 컴퓨터가 순식간에 계산을 해줬습니다. 이렇게 변수에는 값을 여러 번 넣을 수 있습니다.
변수의 값을 계산해 같은 변수에 다시 대입하기
시계를 중고로 팔아서 게임기를 사려고 합니다. 백만 원짜리 시계를 15% 할인한 가격은 얼마일까요?
>>> 1000000 * 0.85 850000.0
(물론 1000000 - 1000000 * 0.15
라든지 1000000 * (1 - 0.15)
로 계산해도 되겠지만, 여기서는 위의 방법으로 설명할게요.)
마찬가지로, 어떤 변수가 가리키는 값을 15% 할인하는 것을 다음과 같은 코드로 나타낼 수 있을 것입니다.
>>> price = 5000 >>> price = price * 0.85 >>> price 4250.0
위에서 변수 = 변수 * 값
형식의 문장은 변수 *= 값
으로 줄여서 표현할 수도 있습니다.
>>> price = 5000 >>> price *= 0.85 >>> price 4250.0
문자열을 가리키는 변수
변수에는 숫자 말고 글자도 넣을 수 있답니다.
>>> a = 'pig'
요렇게 쓰면 a
라는 변수에 'pig'
라는 문자열(글자 여러 개)을 넣으라는 뜻입니다. 그러니까 a
는 'pig'
와 같다는 것이지요. 여기서 'pig'
에 따옴표가 둘러져 있는 것을 주의해서 보셔야 합니다. 따옴표가 없으면 pig
라는 변수로 착각을 하거든요. "pig는 문자열이다"라는 뜻으로 따옴표가 쓰이는 것입니다. 이번엔 b
라는 변수에 'dad'
라는 문자열을 넣어봅시다.
>>> b = 'dad'
정말 쉽죠? 그럼 이번에 문자열끼리 이어 붙여 볼까요?
>>> a + b pigdad
아까 시계랑 라이터 값을 더할 때랑 같은 방법을 썼더니 문자열들이 합쳐지지요? 재미있지 않습니까? 재미없으시다고요? 그렇다면 좀 더 재미있는 것을 해봅시다.
>>> a + ' ' + b pig dad
여기선 a
라는 변수와 ' '
(공백 문자 한 개)와 b
라는 변수를 붙여서 'pig dad'
라는 문자열을 만들어 준 것이지요. 이해가 되시나요?