Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python 조건문 완벽 가이드: if, else, elif 문 사용법

이 튜토리얼에서는 Python에서 if, else, elif 문을 사용하는 방법을 자세히 알아봅니다.

어떤 프로그래밍 언어로 개발하든, 조건의 결과에 따라 판단을 내리고 그에 맞는 코드를 실행해야 하는 순간이 반드시 옵니다.

Python에서는 if 문을 사용해 조건을 평가하고 프로그램의 흐름을 제어합니다.

Python if 문이란?

Python에서 if 문의 기본 문법은 다음과 같습니다:

if condition:
    statement

콜론(:)들여쓰기(indentation)에 특히 주의해야 합니다. Python은 중괄호 대신 들여쓰기로 코드 블록을 구분하기 때문입니다.

비교 연산자(Comparison Operators)

조건을 평가할 때는 논리 연산자를 사용하며, 주요 비교 연산자는 다음과 같습니다:

  • 같음(Equal): a == b
  • 같지 않음(Not Equal): a != b
  • 작음(Less than): a < b
  • 작거나 같음(Less than or equal to): a <= b
  • 큼(Greater than): a > b
  • 크거나 같음(Greater than or equal to): a >= b

if 문 다음에 오는 코드는 조건이 true(참)로 평가될 때만 실행됩니다.

if 문 예제

password = 'Hello'

if len(password) < 6:
    print('password too weak - should be at least 6 characters')

출력 결과:

password too weak - should be at least 6 characters

위 코드에서는 비밀번호의 길이를 검사합니다. 조건은 길이가 6자 미만이면 안 된다는 것이며, 이는 작음(<) 연산자로 표현됩니다.

문자열 "Hello"는 6자보다 짧으므로 조건이 true로 평가되고, 따라서 print 문이 실행되어 경고 메시지가 출력됩니다.

Python if…else 문

조건 평가 결과가 false(거짓)일 때도 별도의 동작을 수행하고 싶다면 else 문을 추가하면 됩니다.

if...else 문의 기본 문법은 다음과 같습니다:

if condition:
    statement_1
else:
    statement_2

앞선 예제를 이어서, 비밀번호가 요구 길이를 충족했을 때 사용자에게 알려주고 싶다면 해당 로직을 else 블록에 넣으면 됩니다.

if…else 문 예제

password = 'Mission'

if len(password) < 6:
    print('password too weak - should be at least 6 characters')
else:
    print('your password was accepted')

출력 결과:

your password was accepted

이번에는 "Mission"이라는 단어가 7글자이므로 if 조건은 false로 평가됩니다. else 블록이 있기 때문에 두 번째 print() 문이 실행된 것입니다.

elif로 여러 조건 처리하기

프로그램에서 세 가지 이상의 경우를 처리해야 한다면 여러 개의 ifelse 블록이 필요합니다. 이때 사용하는 것이 elif 키워드이며, "else if"의 줄임말입니다.

예를 들어, 세 개의 정수 입력값을 받아 삼각형의 종류를 판별하는 프로그램을 생각해 보겠습니다.

  • 부등변삼각형(Scalene triangle): 세 변의 길이가 모두 다른 삼각형
  • 이등변삼각형(Isosceles triangle): 두 변의 길이가 같은 삼각형
  • 정삼각형(Equilateral triangle): 세 변의 길이가 모두 같은 삼각형
a = 5
b = 5
c = 5

if a != b and b != c and a != c:
    print('This is a scalene triangle')
elif a == b and b == c:
    print('This is an equilateral triangle')
else:
    print('This is an isosceles triangle')

출력 결과:

This is an equilateral triangle

이 예제는 두 가지 이상의 경우를 처리하는 방법을 잘 보여줍니다. 앞서와 마찬가지로 콜론(:)과 들여쓰기를 잊지 마세요.

elif는 필요한 만큼 무제한으로 사용할 수 있습니다. 단, else 문은 하나만 존재하며 모든 조건에 해당하지 않는 경우를 처리하는 catch-all 역할을 합니다. 즉, 모든 if/elif 조건이 거짓일 때 else 문이 실행됩니다.

Python 삼항 연산자(Ternary Operator)

단순한 if...else 블록이라면 삼항 연산자(조건 표현식)를 사용해 한 줄로 간결하게 작성할 수 있습니다.

문법은 다음과 같습니다:

condition_if_true if condition else condition_if_false

삼항 연산자 예제

a = 100
b = 200
print('A') if a > b else print('B')

출력 결과:

B

ab보다 크지 않으므로 조건이 거짓으로 평가되어 else 쪽의 값인 'B'가 출력됩니다.

마무리 정리

  • if...elseelif 문은 프로그램의 흐름을 제어하는 핵심 도구입니다.
  • if 문은 프로그래밍에서 의사 결정(decision making)을 위해 사용됩니다.
  • if 문은 지정된 조건(들)을 기준으로 평가되며, 조건이 참일 때만 코드가 실행됩니다.
  • else 블록은 if 문에 붙여 사용하며, 조건이 거짓일 때 실행됩니다.
  • else 블록은 if 문 없이 단독으로 존재할 수 없습니다.
  • 조건이 여러 개인 경우 elif 문을 if 문에 추가하여 사용할 수 있습니다.