프로그래밍을 하다 보면 특정 조건에 따라 코드가 실행되거나 실행되지 않도록 해야 하는 경우가 자주 발생한다.
이때 사용하는 것이 바로 if else 조건문이다. 조건문을 사용하면 코드의 흐름을 제어할 수 있으며, 상황에 맞게 적절한 동작을 수행할 수 있다.
기본적인 if 조건문의 구조는 다음과 같다:
if 조건(condition):
실행할 문장
if 뒤에 조건을 적고, 끝에 콜론(:)을 붙인다.예를 들어, 내가 학생이고 오늘이 일요일이라면 게임을 한 판 하고 공부를 시작하는 코드를 작성해보자:
today = 'Sunday'
if today == 'Sunday':
print("게임 한 판 한다")
print("공부를 시작한다")
위 코드에서 today 변수가 'Sunday'라면 조건이 참이므로 "게임 한 판 한다"와 "공부를 시작한다" 두 문장이 모두 실행된다.
만약 today 변수가 'Tuesday'라면 조건이 거짓이므로 if조건문 을 수행하려고 들여쓰기를 한 "게임 한 판 한다" 문장은 실행되지 않고 "공부를 시작한다" 문장만 출력하게 된다.
조건이 참일 때 실행할 문장과 거짓일 때 다른 문장을 실행시키리면 `if else' 문을 사용할 수 있다
if 조건:
실행할 문장
else:
다른 문장
if와 마찬가지로 else 뒤에도 콜론을 붙인다.else 다음 줄에 마찬가지로 들여쓰기를 하여 조건이 거짓일 때 실행할 다른 문장을 적는다.예를 들어, 일요일이면 게임을 하고 그렇지 않으면 스마트폰을 5분만 하는 코드를 작성해보자:
today = 'Tuesday'
if today == 'Sunday':
print("게임 한 판 한다")
else:
print("스마트폰 딱 5분만 한다")
print("공부를 시작한다")
이 코드에서는 today 변수가 'Sunday'이어서 조건이 참이라면 "게임 한 판 한다" 와 "공부를 시작한다" 문장들이 실행될 것이다.
만약 Sunday가 아니라 Tuesday라 조건이 거짓이라면 "스마트폰 딱 5분만 한다" 문장이 실행된다. 마지막으로 "공부를 시작한다" 문장은 항상 실행된다.
조건부 표현식과 일반적인 if else 문은 다음과 같은 차이점이 있다:
# 조건부 표현식을 if else 사용한 코드
result = "참일 때 실행할 문장" if 조건(condition) else "거짓일 때 실행할 문장"
일반적인 if else 문은 여러 줄에 걸쳐서 작성되며, 블록의 형태로 조건과 실행할 코드를 분리한다. 이때 if else문은 복잡한 조건이나 여러 줄에 걸쳐 실행할 코드가 있을 때 사용한다.
반대로 조건부 표현식은 한 줄로 작성되어, 간단한 조건과 그에 따른 값을 간결하게 표현할 수 있다. 그리고 보통 단일 값의 할당이나 간단한 조건을 평가할 때 사용된다.
이 코드를 일반적인 if else 문으로 변환하면 다음과 같다:
# 일반적인 if else 문을 사용한 코드
if 조건(condition):
result = "참일 때 실행할 문장"
else:
result = "거짓일 때 실행할 문장"
이해를 돕기 위해 조금 더 구체적인 예를 이용해보자
조건부 표현식을 사용한 코드는 다음과 같다:
# 조건부 표현식 (삼항 연산자)을 사용한 코드
score = 75
result = "합격" if score >= 60 else "불합격"
print(result) # 출력: 합격
여기서 학생의 점수가 60점 이상이면 "합격"을, 그렇지 않으면 "불합격"을 출력하게 된다.
위 코드를 순서대로 읊어보다면 다음과 같다 :
["합격" 처리해줘, 만약 score가 60점 이상이면, 그게 아니야? 그러면 "불합격" 처리해줘]