Python 기초

8 . 제어문 - 조건문

imysydesu 2026. 5. 26. 16:14

 

 

 

 

  • 파이썬의 조건문 : 프로그램의 실행 흐름을 제어하기 위한 문법
  • if, elif, else를 사용해 조건의 참과 거짓에 따라 다른 코드 실행 가능
  • 파이썬 3.10부터는 match ~ case 문법을 활용한 구조적 패턴 매칭을 통해 값, 리스트, 딕셔너리 같은 데이터 구조를 기준으로 분기 처리 가능

 

 


 

 

1 . if, elif, else

 

 

 

1 - 1 . if 문

 

  • 가장 기본적인 조건문
  • 조건이 참일 경우에만 해당 블록 내의 코드 실행
  • 조건은 참과 거짓으로 평가될 수 있는 표현식이어야 함
  • 거짓으로 평가될 시에는 해당 코드 블록을 건너뜀
  • 거짓(False)으로 평가되는 조건 : 리스트 딕셔너리 등의 값이 비어있거나, 값이 없거나, 0일 때

 

- 기본 값

 

if 조건:

     코드 블록 1

else:

     코드 블록 2

 

 

 

 

 

1, 3, 5, 7, 9 -> 남성

2, 4, 6, 8, 0 -> 여성

 

 

  • 왈러스 연산자 ( := )

- 파이썬에서 값을 할당하면서 동시에 그 값을 표현식 안에서 사용할 수 있게 해주는 할당 표현식

- 조건문, 반복문, 컴프리헨션 등에서 값을 한 번 계산하면서 변수에 저장하고 바로 활용할 수 있음

-> 코드가 간결해짐

 

 

 

1 - 2 . elif 문

 

- elif => else if 줄임말

  • elif는 if 없이 단독 사용 불가
  • elif는 필요에  따라 여러 번 사용 가능
  • else는 선택적 사용 가능, if나 elif 뒤에 사용
  • 가장 처음으로 조건이 True인 코드 블록만 실행하고 바로 조건문 빠져나감

 

 

- 기본값

 

if 조건1:

     코드 블록1

elif 조건2:

     코드 블록2

elif 조건3:

     코드 블록3

else:

     코드 블록4

 

 

 

 

 

 

 


 

 

 

 

 

2 . if 여러 번 쓰기 vs if ~ elif ~ else 쓰기

 

 

2 - 1 . if ~ else ~ elif

  • 조건을 위에서부터 검사하다가 처음 True가 나오면 그 이후는 전부 무시

 

 

 

2 - 2 . if 여러 번 쓰기

  • 각각 독립적으로 검사
  • 여러 개가 동시에 실행될 수 있음

 

 

 

 

 


 

 

 

 

 

3 . 조건부 표현식(Conditional Expression)

 

 

 

  • 조건의 참과 거짓에 따라 값을 선택하는 한 줄짜리 조건문
  • 간단한 분기 로직을 간결하게 표현할 때 유용
  • 표현식 : 조건이 참인 경우 if 조건 else 조건이 거짓인 경우 값

 

  • 조건이 복잡하거나 여러 줄의 처리가 필요한 경우 일반적인 if를 사용하는 것이 적절 -> 가독성이 떨어짐

 

 

 

 

 

 

 

 


 

 

 

4 . 구조적 패턴 매칭

 

 

  • 파이썬에서 if ~ elif ~ else 구문을 좀 더 간결하고 읽기 쉽게 만든 새로운 분기문
  • Java/C의 switch ~ case 구문과 비슷하지만 더 강력한 기능을 가짐

 

  • if 문 -> 비교 연산(범위, T/F 등)이 들어갈 때 용이
  • match 문 > 값이 맞아떨어지는 것을 찾을 때 용이

-> 무조건은 아님

 

 

 

 

- 기본값

 

match 값:

     case 패턴1:

          실행할 코드1

     case 패턴2:

          실행할 코드2

     case _:

          기본 실행 코드 (default)

 

 

 

 

  • 타입이 동일해야 함

 

  • 리스트, 튜플, 딕셔너리 -> 타입 구분 X

 

- case 2번의 언더스코어 (_)는 값을 사용하지 않겠다는 의미

 

  • 리스트와 튜플은 서로 다른 타입이지만 구조적 패턴 매칭에서는 시퀀스 패턴으로 인해 비슷하게 매칭될 수 있음
  • 타입을 명확히 구분해야함

-> 시퀀스 패턴 : 리스트나 튜플처럼 순서가 있는 데이터를 그 순서, 길이, 값에 맞춰 한 번에 매칭하는 기능

 

  • 리스트, 튜플, 딕셔너리 -> 타입 구분 O

- case 뒤에 자료형 타입 종류 기재 

'Python 기초' 카테고리의 다른 글

10 . 사용자 정의 함수  (0) 2026.05.28
9 . 제어문 - 반복문  (0) 2026.05.27
7 . 컬렉션 타입 (세트, 딕셔너리)  (0) 2026.05.26
6 . 컬렉션 타입 (리스트, 튜플)  (0) 2026.05.26
5 . 연산자  (0) 2026.05.22