[Python] if else 조건문, if else 조건부 표현식 / if else, 조건부 표현식

김대현·2024년 7월 15일

프로그래밍을 하다 보면 특정 조건에 따라 코드가 실행되거나 실행되지 않도록 해야 하는 경우가 자주 발생한다.

이때 사용하는 것이 바로 if else 조건문이다. 조건문을 사용하면 코드의 흐름을 제어할 수 있으며, 상황에 맞게 적절한 동작을 수행할 수 있다.

1. if 조건문 구조

기본적인 if 조건문의 구조는 다음과 같다:

if 조건(condition):
    실행할 문장
  • if 뒤에 조건을 적고, 끝에 콜론(:)을 붙인다.
  • 다음 줄에 조건이 참일 때 실행할 문장을 적는다. 이때 반드시 들여쓰기를 해줘야 한다.

if조건문 예시

예를 들어, 내가 학생이고 오늘이 일요일이라면 게임을 한 판 하고 공부를 시작하는 코드를 작성해보자:

today = 'Sunday'

if today == 'Sunday':
    print("게임 한 판 한다")

print("공부를 시작한다")

위 코드에서 today 변수가 'Sunday'라면 조건이 참이므로 "게임 한 판 한다""공부를 시작한다" 두 문장이 모두 실행된다.
만약 today 변수가 'Tuesday'라면 조건이 거짓이므로 if조건문 을 수행하려고 들여쓰기를 한 "게임 한 판 한다" 문장은 실행되지 않고 "공부를 시작한다" 문장만 출력하게 된다.


2. if else 조건문

조건이 참일 때 실행할 문장과 거짓일 때 다른 문장을 실행시키리면 `if else' 문을 사용할 수 있다

if 조건:
    실행할 문장
else:
    다른 문장
  • if와 마찬가지로 else 뒤에도 콜론을 붙인다.
  • else 다음 줄에 마찬가지로 들여쓰기를 하여 조건이 거짓일 때 실행할 다른 문장을 적는다.

if else 조건문 예시

예를 들어, 일요일이면 게임을 하고 그렇지 않으면 스마트폰을 5분만 하는 코드를 작성해보자:

today = 'Tuesday'

if today == 'Sunday':
    print("게임 한 판 한다")
else:
    print("스마트폰 딱 5분만 한다")

print("공부를 시작한다")

이 코드에서는 today 변수가 'Sunday'이어서 조건이 참이라면 "게임 한 판 한다""공부를 시작한다" 문장들이 실행될 것이다.

만약 Sunday가 아니라 Tuesday라 조건이 거짓이라면 "스마트폰 딱 5분만 한다" 문장이 실행된다. 마지막으로 "공부를 시작한다" 문장은 항상 실행된다.


3. if else 조건부 표현식

조건부 표현식과 일반적인 if else 문은 다음과 같은 차이점이 있다:

# 조건부 표현식을 if else 사용한 코드
result = "참일 때 실행할 문장" if 조건(condition) else "거짓일 때 실행할 문장"
  • 일반적인 if else 문은 여러 줄에 걸쳐서 작성되며, 블록의 형태로 조건과 실행할 코드를 분리한다. 이때 if else문은 복잡한 조건이나 여러 줄에 걸쳐 실행할 코드가 있을 때 사용한다.

  • 반대로 조건부 표현식은 한 줄로 작성되어, 간단한 조건과 그에 따른 값을 간결하게 표현할 수 있다. 그리고 보통 단일 값의 할당이나 간단한 조건을 평가할 때 사용된다.

이 코드를 일반적인 if else 문으로 변환하면 다음과 같다:

# 일반적인 if else 문을 사용한 코드
if 조건(condition):
    result = "참일 때 실행할 문장"
else:
    result = "거짓일 때 실행할 문장"

if else 조건부 표현식 예시

이해를 돕기 위해 조금 더 구체적인 예를 이용해보자

조건부 표현식을 사용한 코드는 다음과 같다:

# 조건부 표현식 (삼항 연산자)을 사용한 코드
score = 75
result = "합격" if score >= 60 else "불합격"
print(result)  # 출력: 합격
  • 여기서 학생의 점수가 60점 이상이면 "합격"을, 그렇지 않으면 "불합격"을 출력하게 된다.

  • 위 코드를 순서대로 읊어보다면 다음과 같다 :
    ["합격" 처리해줘, 만약 score가 60점 이상이면, 그게 아니야? 그러면 "불합격" 처리해줘]

profile
데이터 분석 스쿨 블로그 입니다.

0개의 댓글