Python 입문 | 구문(statement) | 조건 분기 - if 구문

if 구문

제어 구문을 크게 나누면 “조건 분기"와 “반복"으로 구성되어 있다. 우선 조건 분기부터 살펴 보겠다.

조건 분기는 문자 그대로 “조건에 따라 처리를 분기한다"는 것이다. 그 기본은 양자 택일의 분기하는 if 구문이다.

if 구문은 다음과 같은 형태를 하고 있다.

if 기본형 (1)

if 조건:
    조건이 참일 경우에 처리

if 기본형 (2)

if 조건:
    조건이 참일 경우에 처리
else:
    조건이 거짓일 경우에 처리

if 문은 여러가지 작성 방법이 있다. 기본은 조건을 확인하고 그것이 옳았을 때에 작업을 수행한다는 것이다. 이것은 if문 후에 검사 조건이 되는 것을 쓰고 콜론(:)을 넣는다. 그러고 그 이후의 들여쓰기된 부분을 수행한다.

조건이 참일 경우 처리와는 별도로 조건이 거짓을 경우에도 어떤 처리를 하고 싶다면, 참인 경우 수행할 처리가 끝나는 곳에, 들여쓰기를 if 위치로 돌아가서 else:를 넣는다. 그리고 또 오른쪽으로 들여쓰기하여 수행할 처리를 작성하면 된다.

또한, 조건을 하나뿐만 아니라 차례로 확인하는 elif:와 같은 것도 있지만, 일단은 if ~:, else: 2개만 기억해 두자.

아래에 간단한 예제는 아래와 같다.

x = 1234
check = x % 2
if check == 0: 
    print(str(x) + "는 짝수입니다.") 
else: 
    print(str(x)  + "는 홀수입니다.") 
print("....end.")

Output:

% python3 if.py
1234는 짝수입니다.
....end.

변수 x가 짝수인지 홀수인지를 검사 프로그램이다. x를 2로 나눈 나머지를 확인하고, 그것이 제로인지 여부에 표시할 텍스트를 변경하고 있다. 변수 x의 값을 다양하게 변경해 보고 동작을 확인해 보자.

조건은 어떻게 쓰는거야?

이 if문을 사용하기 위해서는 ‘조건’이라는 것을 어떻게 작성해야 해야 할지가 중요하다. Python이라는 프로그래밍 언어를 이해하는데 있어서 조건은 꼭 알아야 한다. 조건에 대해 정리하면 대략 다음과 같다.

숫자를 비교하는 식

가장 많이 쓰는 것은 숫자를 비교하는 식이다. 앞에 예제에서도 숫자 비교 식을 사용하였다. 두 값을 비교하여 “어느 쪽이 큰지"라든가 “같은 값인지에 대한 여부"등을 체크하는 식이다. 이는 다음과 같은 기호가 준비되어 있다.

기호 설명
값1 == 값2 값1과 값2는 동일하다.
값1 != 값2 값1과 값2는 같지 않다.
값1 < 값2 값1보다 값2 더 크다.
값1 <= 값2 값1보다 값2 쪽이 크거나 같다.
값1 > 값2 값1보다 값2 쪽이 작다.
값1 >= 값2 값1보다 값2 쪽이 작거나 같다.

부울 값과 변수

“부울(bool)“이라는 것은 “옳고 그른지?” 라는 양자 택일에 대한 값이었다. 이것은 True 또는 False의 값 중 하나였다. if문에는 그 후의 변수와 값이 True이면 다음의 작업을 수행한다. False라면 작업을 수행하지 않거나 또는 else: 이후의 처리를 실행한다.

결론

사실은 “숫자를 비교하는 식"과 “부울 값과 변수"는 어느 쪽도 같은 것이다. 첫번째에서 “두 값을 비교하는 식"에서는 두개의 식을 비교한 결과를 논리 값으로 반환하는 역할을 한다. 즉, 상세히 따져보면 “True인가? False인가?“에서 모든 if 조건문의 결정이 가능하다는 것이다.