== 기호와 if
=기호가 오른쪽의 결과를 왼쪽의 변수(저장장소)에 저장하는 거라면, ==호는 양쪽이 같은지에 대한 결과를 내놓습니다.
2==2는 양쪽이 서로 같으므로 참을 의미하는 True라는 결과를 내놓습니다.
반면 2==3은 양쪽이 같지 않으므로 거짓을 의미하는 False라는 결과를 내놓습니다.
그러면 이 결과를 어디에 써먹을 수 있을까요?
참이라는 조건이 만족될때만 특정한 작업을 수행하는 경우에 써먹을 수 있습니다.
대표적인 경우가 if 를 사용할때입니다.
python 코드를 보겠습니다.
a = 2 b = 2 if a==b : a = a+1
위의 코드를 해석하면 a==b 가 참이면 a = a+1라는 작업을 합니다
if가 나오는 줄 이전에 a와 b 모두 2라는 값을 저장했으므로 a==b는 참입니다.
그러므로 a = a+1 작업을 합니다.
a = a+1은 a에 a+1의 결과를 저장합니다.
그러므로 변수(저장장소) a에는 a+1 다시 말해 2+1의 결과인 3이 저장됩니다.
이제 python에서 if를 쓰는 문법을 살펴봐야합니다.
if 다음에는 참인지 거짓인지 결과를 내놓는 수식이나 문구가 나오고 그 뒤에 : 기호를 붙입니다.
그런 다음 참일때 하는 작업을 들여쓰기로 씁니다.
보통 4자 들여쓰기를 합니다.
만약에 참일때 하는 작업이 여러줄이라면 똑같은 들여쓰기를 하면 됩니다.
a = 2 b = 2 if a==b : a = a+1 b = b+1 sum = a+b
위의 코드에서 if 다음에 두줄이 똑같은 들여쓰기를 했으므로 a = a+1과 b = b+1 작업 모두를 합니다.따라서 a와 b 모두 3이 저장됩니다. 그리고 sum = a+b 작업을 하므로 sum이라는 변수에는 3+3의 결과 6이 저장됩니다.
만약에 처음에 a와 b에 저장하는 값이 다르다고 해보죠.
a = 2 b = 3 if a==b : a = a+1 b = b+1 sum = a+b
이 경우에는 a==b 가 참이 아니므로 if를 쓴줄 다음에 들여쓰기한 두 줄은 수행하지 않고 넘어갑니다. 결국 sum에는 2+3의 결과 5가 저장됩니다.
이번엔 만약에 if 다음에 쓴 두번째 줄을 실수로 들여쓰기 하지 않았다고 가정해보겠습니다.
a = 2 b = 3 if a==b : a = a+1 b = b+1 sum = a+b
그러면 들여쓰기한 a = a+1만 수행하지 않고 넘어가고, b = b+1은 수행합니다.
따라서 b에는 4이 저장되고, sum에는 2+4의 결과인 6이 저장됩니다.
완전히 다른 결과가 나옵니다.
python에서는 들여쓰기를 아주 신경써서 해야하는 이유입니다.