학습 자료 글/파이썬 시작하기

[파이썬 기초 시리즈 6]불 자료형과 조건문 기초편

cedis 2026. 3. 23. 16:51
파이썬 기초 완성형 시리즈 · 06장
불 자료형 · 비교 연산자 · if문 · elif · else · 논리 연산

불 자료형과 조건문 기초편
프로그램이 스스로 판단하고 갈림길을 선택하게 만드는 핵심 문법

이 장에서는 파이썬 프로그램이 언제 무엇을 실행할지 판단하는 기준이 되는 불 자료형조건문을 다룹니다. 지금까지는 데이터를 저장하고 꺼내는 법을 배웠다면, 이제부터는 그 데이터를 바탕으로 참인지 거짓인지 판단하고, 상황에 따라 다른 코드를 실행하는 사고 방식을 익히게 됩니다.
이 장에서 배우는 것
  • 불 자료형이 무엇인지 이해합니다.
  • 비교 연산자가 참과 거짓을 어떻게 만드는지 익힙니다.
  • if, elif, else의 기본 구조를 배웁니다.
  • and, or, not으로 조건을 조합하는 방법을 정리합니다.
  • 초보자가 자주 틀리는 조건문 실수를 미리 피합니다.
이 장을 끝내면
  • 프로그램이 어떤 기준으로 분기하는지 설명할 수 있습니다.
  • 숫자, 문자열, 리스트의 상태를 조건으로 판단할 수 있습니다.
  • 간단한 조건문 코드를 스스로 작성할 수 있습니다.
  • 다음 장의 반복문과 흐름 제어를 훨씬 자연스럽게 이해하게 됩니다.
1

조건문은 프로그램의 갈림길입니다

현실에서 우리는 늘 조건에 따라 다르게 행동합니다. 비가 오면 우산을 챙기고, 점수가 높으면 합격을 축하하고, 배터리가 부족하면 충전기를 연결합니다. 프로그램도 마찬가지입니다. 어떤 값이 참인지 거짓인지에 따라 다른 동작을 하게 만들어야 합니다. 바로 이 역할을 하는 것이 조건문입니다.

조건문을 잘 이해하면 프로그램이 단순히 위에서 아래로만 흘러가는 것이 아니라, 상황을 보고 판단하는 구조를 갖추게 됩니다. 즉 조건문은 코딩에서 처음 만나는 “판단력”입니다. 그래서 이 장은 매우 중요합니다.

불 자료형이란 무엇인가

불 자료형은 아주 단순합니다. 값이 단 두 개뿐입니다. TrueFalse입니다. 각각 참과 거짓을 뜻합니다. 이 단순한 두 값이 조건문의 출발점입니다.

is_open = True
is_logged_in = False

print(is_open)
print(is_logged_in)
불 자료형은 단순하지만 매우 강력합니다. 문이 열려 있는지, 사용자가 로그인했는지, 시험에 합격했는지처럼 상태를 표현할 때 자주 사용됩니다.
불 자료형 핵심 요약
값은 두 개뿐
True / False
역할
조건 판단과 상태 표현
쓰이는 곳
if문, 비교 결과, 논리 연산

비교 연산자는 참과 거짓을 만들어 냅니다

불 자료형을 직접 넣을 수도 있지만, 실제로는 대부분 비교 연산의 결과로 True 또는 False가 만들어집니다. 즉 비교 연산자는 조건문의 재료를 공급하는 도구라고 볼 수 있습니다.

비교 연산자 표
== : 같다
!= : 다르다
> : 크다
< : 작다
>= : 크거나 같다
<= : 작거나 같다
예제
print(10 > 3)
print(5 == 5)
print(7 != 2)
print(2 < 1)
각 줄의 결과는 True 또는 False입니다. 즉 비교 연산은 “이 조건이 맞는가?”를 물어보는 행위입니다.
특히 초보자는 ===를 자주 헷갈립니다. = 는 저장(할당), == 는 비교입니다.

값 자체도 참/거짓처럼 판단될 수 있습니다

print(bool(0))
print(bool(1))
print(bool(""))
print(bool("python"))
print(bool([]))
print(bool([1, 2]))
파이썬에서는 어떤 값이 비어 있거나 0이면 거짓처럼, 내용이 있으면 참처럼 취급되는 경우가 많습니다. 이를 흔히 truthy / falsy 감각이라고 부릅니다.

대표적인 falsy 값

0 : 숫자 0
"" : 빈 문자열
[] : 빈 리스트
{} : 빈 딕셔너리
False : 명시적 거짓

if문: 조건이 참일 때만 실행하기

조건문의 가장 기본은 if문입니다. 뜻은 단순합니다. “만약 이 조건이 참이면, 아래 코드를 실행하라”입니다.

기본 구조
if 조건식:
    실행할 코드
예제
score = 85

if score >= 80:
    print("합격입니다")
여기서 콜론 : 과 들여쓰기는 반드시 필요합니다. 파이썬에서는 들여쓰기가 문법의 일부입니다.

if ~ else

age = 17

if age >= 20:
    print("성인입니다")
else:
    print("미성년자입니다")
조건이 참이면 if 블록이 실행되고, 거짓이면 else 블록이 실행됩니다. 즉 두 갈래 중 하나를 선택하는 구조입니다.

if ~ elif ~ else

score = 82

if score >= 90:
    print("A")
elif score >= 80:
    print("B")
else:
    print("C")
elif는 “그렇지 않고, 만약…”의 뜻입니다. 여러 조건을 차례대로 검사할 때 사용합니다.

논리 연산자로 조건을 조합하기

and
둘 다 참이어야 참
age = 25
has_id = True
print(age >= 20 and has_id)
or
하나라도 참이면 참
is_weekend = False
is_holiday = True
print(is_weekend or is_holiday)
not
참과 거짓을 뒤집음
is_closed = False
print(not is_closed)
실전에서는 조건 하나보다 여러 조건을 조합해야 하는 경우가 더 많습니다. 회원 여부와 나이, 비밀번호 입력 여부와 관리자 여부 같은 판단이 대표적입니다.

in 과 not in 으로 포함 여부 판단하기

조건문에서는 값의 크기만 비교하는 것이 아니라, 어떤 값이 포함되어 있는지 여부도 자주 따집니다. 이때 innot in 이 매우 유용합니다.

in 예제
fruits = ["사과", "바나나", "포도"]
print("사과" in fruits)
not in 예제
banned = ["spam", "ads"]
print("python" not in banned)
문자열, 리스트, 튜플, 집합, 딕셔너리 키 등 다양한 자료형과 함께 쓸 수 있어 활용도가 높습니다.

초보자가 자주 하는 실수 1

score = 90
if score = 90:
    print("A")
조건문 안에서 =를 쓰면 안 됩니다. 비교는 반드시 ==를 사용해야 합니다.

수정 예시

score = 90
if score == 90:
    print("A")
할당과 비교를 구분하는 습관은 초반에 반드시 잡아야 합니다.

초보자가 자주 하는 실수 2

age = 20
if age >= 20:
print("성인")
들여쓰기가 없으면 파이썬은 어떤 코드가 if문에 속하는지 알 수 없습니다. 따라서 오류가 발생합니다.

초보자가 자주 하는 실수 3

text = "10"
if text > 5:
    print("크다")
문자열과 숫자를 바로 비교하면 의도한 대로 동작하지 않습니다. 조건문에서는 자료형을 먼저 점검하는 습관이 중요합니다.

짧은 종합 예제

username = "민수"
age = 22
is_member = True

if age >= 20 and is_member:
    print(username + "님은 성인 회원입니다.")
elif age >= 20:
    print(username + "님은 성인이지만 회원이 아닙니다.")
else:
    print(username + "님은 미성년자입니다.")
이 예제는 나이와 회원 여부라는 두 조건을 함께 사용합니다. 즉 조건문은 단순한 참·거짓을 넘어, 여러 상태를 조합해 상황별로 다른 문장을 출력하게 만들 수 있습니다.

한눈에 보는 조건문 사고 흐름

STEP 1
값 준비
비교할 데이터와 상태를 준비합니다.
STEP 2
조건 작성
비교 연산으로 참·거짓을 만듭니다.
STEP 3
분기 선택
if / elif / else 중 하나로 흐름이 나뉩니다.
STEP 4
블록 실행
해당 조건에 맞는 코드만 실행됩니다.
STEP 5
다음 흐름
조건 실행 뒤 프로그램은 다음 줄로 이어집니다.

이 장의 핵심 요약

불 자료형은 True와 False 두 값으로 이루어진다.
비교 연산자는 참과 거짓을 만들어 조건문의 재료가 된다.
if, elif, else는 상황에 따라 다른 코드를 실행하게 만든다.
and, or, not, in, not in 을 이용하면 조건을 더 풍부하게 조합할 수 있다.

체크리스트

□ True와 False가 무엇을 의미하는지 설명할 수 있다.
□ = 와 == 의 차이를 구분할 수 있다.
□ if, elif, else의 기본 구조를 직접 쓸 수 있다.
□ and, or, not 중 적어도 두 개를 실제 조건식에 쓸 수 있다.

미니 연습문제

  1. 나이가 20 이상이면 “성인”, 아니면 “미성년자”를 출력하는 코드를 작성해 보세요.
  2. 점수가 90 이상이면 A, 80 이상이면 B, 그 외에는 C를 출력하는 코드를 작성해 보세요.
  3. 좋아하는 과일 리스트 안에 “사과”가 있으면 “사과가 있습니다”를 출력하는 조건문을 작성해 보세요.
Next Chapter
07장에서는 while문과 for문으로 넘어가, 이제 조건 판단을 바탕으로 같은 작업을 여러 번 반복하는 흐름을 배우게 됩니다.
조건문이 갈림길이라면, 다음 장의 반복문은 같은 길을 여러 번 걷게 만드는 도구입니다.