[파이썬 프로그래밍 03] = (equal) 기호 이해하기

Home / 파이썬 프로그래밍 / [파이썬 프로그래밍 03] = (equal) 기호 이해하기

= (equal) 기호 이해하기

수학에서 =기호는 =기호 양쪽이 서로 같다는 것을 나타내는 기호입니다. a=b라고 쓰면 a와 b가 같다는 것을 의미합니다.
하지만 프로그램밍에서는 전혀 다른 의미로 쓰입니다.
프로그래밍에서 =기호는 ‘오른쪽의 결과를 왼쪽에 저장한다’라는 것을 의미합니다. 그러므로 =기호 왼쪽에는 결과를 저장하는 뭔가가 있어야하고, 오른쪽은 결과를 내보내는 뭔가가 있어야합니다. 여기에서 결과를 저장하는 뭔가를 보통 ‘변수'(variable)이라고 부릅니다.
지난번 jupyter notebook을 실행하는 공부자료에서 2+3을 입력하고 Shift-Enter를 치면 5라는 값이 Out[1]에 나오는 것을 볼 수 있었습니다. 2+3의 계산 결과가 나온 것입니다. 프로그래밍을 할때도 숫자와 사칙연산 기호를 조합한 식을 입력하면 실행할때 그 수식을 계산하고 결과를 내보냅니다. 이걸 저장하지 않고 수식만 달랑 써버리면 컴퓨터는 결과를 계산하지만, 계산 결과는 곧 사라집니다. 이 경우 새로운 계산을 하는 다음단계로 넘어가면 계산 결과는 어디에도 없게 됩니다.

만약에 나중에 계산결과를 쓸일이 있다면 그 값을 저장해야 놔야 합니다. 이떄 저장하는 장소가 변수입니다. 변수는 뭔가를 저장하는 장소로 보면 됩니다.
변수라는 저장장소는 알파벳과 숫자를 써서 공백없는 단어를 만들기만 하면됩니다. 단 숫자가 맨 앞에 나오지 않아야합니다.

예를 들어 x = 2+3이라고 입력하고 Shift-Enter를 치면 x라는 저장장소가 만들어지고 이곳에 오른 쪽에서 나오는 졀과를 저장합니다. 만약에 이전의 다른 줄에 x를 이미 썼으면 맨처음 x를 써서 처음 만들어졌던 저장장소를 재활용해서 씁니다.

다음의 경우를 보겠습니다.

a=2
b=3
c=a+b
c=a*b

첫줄 a=2는 a라는 저장장소(변수)를 만들고 그곳에 2라는 숫자를 저장합니다.
둘째줄 b=3은 b라는 저장장소(변수)를 만들고 그곳에 3이라는 숫자를 저장합니다.
셋째줄 c=a+b은 c라는 저장장소(변수)를 만들고 그곳에 a+b의 결과를 저장합니다. 이미 a와 b 저장장소(변수)에 2와 3이 저장되어있으므로 2+3의 결과 5가 c에 저장됩니다.
넷째줄 c=a*b에서 c는 이미 셋째줄에서 만들어졌으므로 여기에서는 셋째줄에서 만들어진 저장장소(변수)를 재활용합니다. a*b 다시 말해 2*3의 결과 6이 재활용되는 c 저장장소(변수)에 저장됩니다.

그러면 양쪽이 같다라는 의미로 쓰는 기호는 =대신 =를 연속해서 두번 쓴 ==라는 기호를 씁니다.
이나마도 수학에서 양쪽이 서로 같다고 조금 다른 의미를 지닙니다.
==기호 양쪽이 같으냐라고 묻는 것에 대답을 결과를 내놓습니다.
예를 들면
2==2의 경우 2와 또다른 2가 같냐는 질문의 대답 True(참)을 결과로 내놓습니다.
2==3의 경우는 2와 3이 같냐는 질문의 대답 False(거짓짓)을 결과로 내놓습니다.
그나마 이대로 쓰고 나면 다음 줄에서 결과는 사라집니다.
이 때문에 True(참)인자 False(거짓)인지를 저장해놓았다가 쓰려면 다음과 같이 씁니다.

a=2
b=3
c=a==b

세번째 줄은 c=2==3과 같습니다. 2와 3은 달라 2==3은 거짓이 되므로 a==b는 False라는 결과를 내놓고 이를 c라는 기억장소(변수)에 저장합니다.
그런데 이렇게 다닥다닥 붙여놓으면 나중에 코드를 읽는데 헷갈길 수가 있어서 보통 왼쪽의 저장장소(변수)에 저장한다는 의미로 쓰는 = 기호 양쪽에 공란을 첨가해 다음과 같이 씁니다.

a = 2
b = 3
c = a==b

jupyter notebook을 실행해서 세줄을 입력한 다음 Shift-Enter를 쳐서 결과를 확인해보시기 바랍니다.

1980년대 후반에 ‘터보파스칼’이라는 프로그래밍 소프트웨어가 엄청 유행한 적이 있습니다. ‘파스칼'(PASCAL)이라는 프로그래밍 언어로 프로그래밍을 할 수 있게 하는 소프트웨어였습니다. 당시 배우기가 비교적 쉬운 언어여서 대학 정규 프로그래밍 강좌에서도 파스칼을 가르쳤습니다. 요즘 다들 파이썬(Python)을 배우듯이 말입니다.

파스칼이라는 언어에서는 변수에 결과를 저장하는 기호로 =가 아닌 := 기호를 썼습니다. 그리고 두 값이 같은지 비교하는 기호는 = 를 썼습니다. 베이직(BASIC) 언어도 값이 같은지 비교하는 기호로 =를 씁니다.