Python - 3. 제어문

2025. 1. 19. 18:42프로그래밍 언어/Python

Python에서 제어문은 코드의 흐름을 조건이나 반복에 따라 제어하는 데 사용됩니다. 이 섹션에서는 조건문과 반복문, 그리고 이를 활용한 다양한 기법에 대해 알아봅니다.


3.1 조건문 (if, elif, else)

조건문은 주어진 조건에 따라 코드 블록을 실행하거나 건너뛸 수 있도록 합니다.

기본 구조

if 조건식:
    실행문  # 조건식이 참일 때 실행
elif 조건식:
    실행문  # 위 조건이 거짓이고, 이 조건이 참일 때 실행
else:
    실행문  # 모든 조건이 거짓일 때 실행

예제

x = 10

if x > 15:
    print("x는 15보다 큽니다.")
elif x == 10:
    print("x는 10입니다.")
else:
    print("x는 15보다 작고 10이 아닙니다.")

실행 결과:

x는 10입니다.

조건식에서 False로 평가되는 값들

Python에서 다음 값들은 조건식에서 False로 평가됩니다:

  • False
  • None
  • 숫자 0 (0, 0.0, 0j)
  • 빈 컨테이너 ([], {}, (), '', "")
  • 사용자 정의 객체에서 __bool__ 또는 __len__ 메서드가 False 또는 0을 반환하는 경우
value = []
if not value:
    print("빈 컨테이너입니다.")

실행 결과:

빈 컨테이너입니다.

3.2 반복문 (for, while)

반복문은 특정 조건이 충족될 때까지 코드를 반복 실행합니다.

for문

리스트, 튜플, 문자열 등 반복 가능한 객체의 요소를 순회합니다.

fruits = ["apple", "banana", "cherry"]

for fruit in fruits:
    print(fruit)

실행 결과:

apple
banana
cherry

range() 함수 사용법

range() 함수는 지정된 범위의 숫자를 생성하여 for문에서 순회할 수 있도록 합니다.

# 기본 사용법
for i in range(5):
    print(i)  # 0에서 4까지 출력

# 시작 값과 끝 값 지정
for i in range(2, 6):
    print(i)  # 2에서 5까지 출력

# 증가 폭 지정
for i in range(1, 10, 2):
    print(i)  # 1, 3, 5, 7, 9 출력

실행 결과:

0
1
2
3
4
2
3
4
5
1
3
5
7
9

while문

조건식이 참인 동안 코드를 반복 실행합니다.

count = 0

while count < 3:
    print(count)
    count += 1

실행 결과:

0
1
2

3.3 반복문 심화 (enumerate, zip 활용)

enumerate

리스트나 튜플의 요소를 반복하면서 인덱스도 함께 가져옵니다.

names = ["Alice", "Bob", "Charlie"]

for index, name in enumerate(names):
    print(f"{index}: {name}")

실행 결과:

0: Alice
1: Bob
2: Charlie

zip

여러 시퀀스를 병렬로 순회합니다.

names = ["Alice", "Bob", "Charlie"]
ages = [25, 30, 35]

for name, age in zip(names, ages):
    print(f"{name} is {age} years old.")

실행 결과:

Alice is 25 years old.
Bob is 30 years old.
Charlie is 35 years old.

길이가 다른 시퀀스 처리: 길이가 다른 시퀀스가 zip에 전달되면 짧은 쪽의 길이에 맞춰 순회합니다.

names = ["Alice", "Bob"]
ages = [25, 30, 35]

for name, age in zip(names, ages):
    print(f"{name} is {age} years old.")

실행 결과:

Alice is 25 years old.
Bob is 30 years old.

3.4 중첩 반복문

반복문 안에 또 다른 반복문을 포함하여 사용합니다.

for i in range(1, 4):
    for j in range(1, 4):
        print(f"i: {i}, j: {j}")

실행 결과:

i: 1, j: 1
i: 1, j: 2
i: 1, j: 3
i: 2, j: 1
i: 2, j: 2
i: 2, j: 3
i: 3, j: 1
i: 3, j: 2
i: 3, j: 3

3.5 break, continue, else 키워드 활용

break

반복문을 즉시 종료합니다.

for i in range(5):
    if i == 3:
        break
    print(i)

실행 결과:

0
1
2

continue

반복문의 현재 반복을 건너뛰고, 다음 반복을 수행합니다.

for i in range(5):
    if i == 3:
        continue
    print(i)

실행 결과:

0
1
2
4

else

반복문이 정상적으로 종료되었을 때 실행됩니다 (break로 종료되지 않을 경우).

for i in range(5):
    if i == 6:
        break
else:
    print("반복문이 정상적으로 종료되었습니다.")

실행 결과:

반복문이 정상적으로 종료되었습니다.

else 절의 특수한 사용 사례: 반복문을 사용해 특정 조건을 확인하고, break 없이 종료되었을 때 후속 작업을 처리하는 데 유용합니다.

for i in range(2, 10):
    for j in range(2, i):
        if i % j == 0:
            break
else:
    print(f"{i}는 소수입니다.")

실행 결과:

2는 소수입니다.
3는 소수입니다.
...

이번 섹션에서는 Python의 제어문을 다루었습니다.

'프로그래밍 언어 > Python' 카테고리의 다른 글

Python - 5. 함수  (0) 2025.01.19
Python - 4. 리스트와 문자열 심화  (0) 2025.01.19
Python - 2. 연산과 연산자  (0) 2025.01.19
Python - 1. 자료형과 변수  (0) 2025.01.19
Tkinter 기본 기능  (0) 2024.07.30