Python if문(조건문)

파이썬은 if, elif (else if), else 세 가지 주요 조건문을 제공하여 프로그래머가 원하는 조건에 따라 코드 블록을 실행하도록 한다. 이 글에서는 파이썬의 조건문에 대해 자세히 알아본다.

if문 기본구조

가장 기본이 되는 조건문으로, 제시된 조건에 맞으면 코드 블록을 실행하고, 아니면 실행하지 않는다. 기본 구조는 다음과 같다.

if condition:
    statement 1
    statement 2

if문에 들어가는 condition은 반드시 boolean형 (True/False)으로 판단할 수 있는 조건이 들어가야 한다. 따라서, 비교연산자, 논리연산자가 주로 사용된다.

들여쓰기(코드블록)

파이썬에서 들여쓰기는 코드블록을 의미한다. 따라서, if문에 해당하는 모든 문장들은 들여쓰기를 해야한다. 아래와 같이 들여쓰기 오휴가 있는 경우, 실행 시 문법 오류가 발생한다.

if condition:
    statement 1
statement 2
    statement 3

조건문 선택하기

선택 구문은 조건의 개수에 따라 다양한 방식으로 사용한다.

  • if문 : 조건 1개
  • if-else문 : 조건 2개
  • if-elif-else문 : 여러 개

여러 조건 결합

논리 연산자인 and/or 키워드는 조건문의 조건을 결합하는데 사용된다.

if a > b and c > a:
    print("Both conditions are True")

if a > b or a > c:
  print("At least one of the conditions is True")

논리 연산자인 not 키워드는 조건문의 결과를 뒤집을 때 사용된다.

if not a > b:
  print("a is NOT greater than b")

if-else문 기본구조

제시된 조건이 참일때, 거짓일떄로 나눠서 코드를 실행할 때 사용하는 구조이다. 구조는 다음과 같다.

if condition:
    statement A1
    statement A2
else:
    statement B1
    statement B2

아래는 score가 60을 넘으면 합격, 그렇지 못하면 불합격을 출력하는 예시이다.

if score > 60:
    print("합격")
else:
    print("불합격")

condition을 테스트해서 참이면 if문 코드 블럭인 statement A1, A2가 실행되고, condition이 거짓이면, statement B1, B2가 수행된다. 따라서, else문은 if문 없이 독립적으로 사용할 수 없다.

if-elif-else문 기본구조

if-elif-else문은 다양한 조건을 제시하고, 조건에 맞는 코드를 실행시키고 싶을 때 사용된다. 기본 구조는 다음과 같다.

if condition1:
    statement A1
    statement A2
    ...
elif condition2:
    statement B1
    statement B2
    ...
elif condition3:
    statement C1
    statement C2
    ...
else:
    statement G1
    statement G2
    ...

elif는 조건의 개수를 제한 없이 사용할 수 있다. 아래는 점수에 따라 학점을 출력하는 예제이다.

if score >= 90:
    print("A")
elif score >= 80:
    print("B")
elif score >= 70:
    print("C")
elif score >= 60:
    print("D")
else:
    print("F")

Short hand if문

한줄 if문

실행할 문장이 하나만 있는 경우 약식으로 if문과 같은 줄에 넣을 수 있다. 다음은 예시이다.

if a > b: print("a is greater than b")

한줄 if-else문

실행할 문장이 if/else에 각각 하나씩만 있는 경우에 모두 같은 줄에 배치할 수 있다. 다음은 예시이다.

print("A") if a > b else print("B")

참고

답글 남기기