프로그래밍에서 '변수'는 정보가 저장되는 컴퓨터 메모리의 어떠한, 하나의 공간입니다. 이 공간에는 이름이 주어집니다. 이름이 없다면 정보가 저장되는 공간을 특정지어서 사용할 수 없기 때문이지요. 이런 공간의 이름, 즉 변수의 이름을 '변수명'이라고 합니다. 그리고, 변수에 저장되는 정보를 우리는 '값'이라고 부릅니다.
변수를 설명할 때 흔히 상자에 비유하기도 합니다.
하나의 변수에는 하나의 값만 저장됩니다. 예를 들어 2와 3이라는 서로 다른 값을 저장하려면 서로 다른 이름을 가진 두 개의 변수가 필요합니다.
변수명은 다음과 같이 쓸 수 있습니다.
a = 2
b = 3
또는 다음과 같은 변수명을 써서 값을 저장할 수도 있습니다.
a1 = 2
a2 = 3
변수명을 만들 때는 숫자를 써도 되지만 첫 글자는 보통 알파벳으로 시작합니다.
그렇다면 변수에는 도대체 어떤 종류의 '값'이 저장되는 것일까요? 숫자만 저장되는 것일까요? 아닙니다. 컴퓨터는 정보를 문자와 숫자로 저장합니다. 그래서 변수도 문자와 숫자를 저장할 수 있습니다.
아래는 숫자 2를 저장하는 변수 a입니다.
a = 2
문자 (또는 문자열)를 변수에 저장하려면 따옴표를 씁니다.
'x'라는 문자를 b라는 변수에 저장하는 코드는 다음과 같습니다.
b = 'x'
또는
b = "x"
문자나 문자열은 큰따옴표나 작은따옴표로 감싸주어야 합니다. 그렇다고 섞어서 쓰면 안 됩니다. 예를 들어 아래와 같이 코드를 작성하면 안 됩니다.
b = 'x"
'Hello'라는 문자열을 insa라는 이름의 변수에 저장하는 코드는 다음과 같습니다.
insa = "Hello"
또는
insa = 'Hello'
다음과 같은 코드가 있습니다.
a = 3
b = a
print(b)
자, 이 코드에서 변수 b의 값은 무엇일까요? 위의 코드에서는 먼저 'a = 3'이 실행되므로, 변수 a에는 숫자 3이 저장됩니다.
그다음 코드는 'b = a'입니다. 변수 a가 변수 'b'의 값이 된 것입니다. 즉 변수 'a의 값'이 변수 b에 입력된 것입니다. 그래서 print(b) 코드가 실행되면 화면에는 3이 출력됩니다. 결국 변수 a와 변수 b가 같은 값을 가지게 된 것이지요.
아래와 같은 코드는 어떨까요?
insa = alo
print(insa)
변수 alo의 값이 변수 insa에 입력됩니다. 그다음에 이 변수, insa를 화면에 출력합니다. 위의 코드에서는 변수 alo의 값을 알 수 없습니다. 숫자가 출력될 수도 있고, 문자가 출력될 수도 있습니다. 아니면 전혀 다른 값이 출력될 수도 있습니다.
자, 다음 코드가 기억나시나요?
print('나는' * 3)
이 코드는 '나는'이라는 문자열을 3번 출력하는 코드입니다. 그래서 아래와 같이 출력됩니다.
나는나는나는
이 코드를 변수를 사용해서 다시 작성하면 아래와 같습니다.
a = '나는'
print(a * 3)
위의 코드를 실행하면 '나는나는나는'이라는 같은 값을 화면에 출력할 것입니다.
그런데, 만약 아래처럼 코드를 바꾸면 어떻게 될까요?
a = '나는'
a = 5
print(a * 3)
위의 코드를 실행하면 숫자 15가 출력될 것입니다.
왜냐하면 코드 첫 줄의 변수 a에 '나는'이라는 문자열이 입력되었지만, 둘째 줄에서 변수 a의 값이 숫자 5로 바뀌었기 때문입니다. 그래서 세 번째 줄의 코드 print(a * 3)은 숫자 5와 숫자 3을 곱한 값이 출력됩니다.
이처럼, 코딩의 세계에서는 코드의 순서가 매우 중요합니다. 순서만 바꾸었을 뿐인데 전혀 예상하지 못한 결과를 보게 되는 경우가 대단히 많습니다.
아래 코드는 무엇일까요?
c = ""
d = " "
print(c)
print(d)
변수 c와 d에 저장되는 값은 모두 문자(또는 문자열)입니다.
문자나 문자열은 따옴표로 감싼다고 했습니다. 그러니까 실제 값은 따옴표를 걷어낸 내용입니다. 변수 c의 값에서 따옴표를 걷어내면 내용은 아무것도 없습니다. 이것을 '빈 문자열'이라고 합니다. 즉, 문자열 변수에 아무런 값도 없다는 것을 나타냅니다. 상자로 예를 들면, 상자가 비어 있는 것을 나타냅니다. 상자 안에는 아무것도 없지만 상자 자체는 존재하는 경우인 것이죠.
빈 문자열 empty string
그렇다면 변수 d는 무엇일까요? 따옴표를 걷어내면, 눈에 보이지는 않지만 뭔가 하나 있는 것 같습니다. 이것은 '공백' 문자입니다. 공백 문자 하나가 변수 d의 값으로 저장된 것입니다.
공백 문자 space character
공백 문자 3개를 값으로 가지는 변수 s는 어떻게 코딩할까요?
아래와 같이 코딩을 하면 됩니다.
s = ' '
따옴표 사이에 공백 문자를 3번 입력하면 되는 것이지요.
숙제를 하나 드리겠습니다. 아래 코드를 실행하면 어떤 결과가 화면이 표시될까요? 직접 코드를 작성해서 실행해 보세요.