본문 바로가기
파이썬 문법

파이썬 제어구조

by mdesign 2024. 8. 13.

파이썬에서 제어구조는 프로그램의 흐름을 제어하는 데 사용됩니다. 제어구조는 조건문, 반복문, 예외 처리 등을 포함하여 프로그램의 로직을 결정하고 제어할 수 있게 해줍니다. 아래에 주요 제어구조의 사용법을 설명하겠습니다.

컴퓨터 관련 기기들.


1. 조건문 (Conditional Statements)

조건문은 특정 조건에 따라 코드 블록의 실행 여부를 결정합니다. 파이썬에서는 if, elif, else를 사용하여 조건문을 작성합니다.


if 문

조건이 참일 경우 코드 블록을 실행합니다.

age = 20

if age >= 18:
    print("Adult")


elif 문

if 문이 거짓일 경우 추가적인 조건을 체크합니다.

age = 16

if age >= 18:
    print("Adult")
elif age >= 13:
    print("Teenager")

 

else 문

모든 조건이 거짓일 경우 실행되는 코드 블록입니다.

age = 10

if age >= 18:
    print("Adult")
elif age >= 13:
    print("Teenager")
else:
    print("Child")


2. 반복문 (Loops)

반복문은 특정 조건이 참일 동안 코드 블록을 반복 실행합니다. 파이썬에서는 for 문과 while 문을 사용합니다.

 

for 문

주로 시퀀스(리스트, 튜플, 문자열 등)를 순회할 때 사용합니다.

# 리스트 순회
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)

# range()를 이용한 반복
for i in range(5):  # 0부터 4까지 반복
    print(i)


while 문

조건이 참일 동안 코드 블록을 반복 실행합니다.

count = 0
while count < 5:
    print(count)
    count += 1



3. 루프 제어문 (Loop Control Statements)

루프 제어문은 루프의 실행을 제어하는 데 사용됩니다. break, continue, else를 사용할 수 있습니다.


break 문

루프를 조기 종료합니다.

for i in range(10):
    if i == 5:
        break
    print(i)  # 0, 1, 2, 3, 4


continue 문

현재 반복을 건너뛰고 다음 반복으로 넘어갑니다.

for i in range(10):
    if i % 2 == 0:
        continue
    print(i)  # 1, 3, 5, 7, 9


else 문 (루프와 함께 사용)

루프가 정상적으로 종료되었을 때 else 블록이 실행됩니다. break에 의해 루프가 종료된 경우에는 else 블록이 실행되지 않습니다.

for i in range(5):
    print(i)
else:
    print("Loop finished")

# Loop finished 출력


4. 예외 처리 (Exception Handling)

예외 처리 구조는 프로그램 실행 중 발생할 수 있는 오류를 처리하는 데 사용됩니다. try, except, else, finally를 사용하여 예외를 처리합니다.


try와 except

try 블록 내의 코드가 실행되고, 예외가 발생하면 except 블록이 실행됩니다.

try:
    result = 10 / 0
except ZeroDivisionError:
    print("Cannot divide by zero")

 

else

try 블록 내에서 예외가 발생하지 않을 때 실행됩니다.

try:
    result = 10 / 2
except ZeroDivisionError:
    print("Cannot divide by zero")
else:
    print("Division successful")


finally

예외 발생 여부와 관계없이 항상 실행되는 블록입니다. 자원 해제 등의 작업에 유용합니다.

try:
    file = open("example.txt", "r")
    # 파일 작업
except FileNotFoundError:
    print("File not found")
finally:
    file.close()  # 파일이 열려 있을 때 닫기



5. 리스트 컴프리헨션 (List Comprehension)

리스트 컴프리헨션은 리스트를 생성하는 간결한 방법입니다. 조건문과 반복문을 사용할 수 있습니다.

# 0부터 9까지의 제곱수 리스트
squares = [x**2 for x in range(10)]
print(squares)  # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

# 짝수만 포함하는 리스트
evens = [x for x in range(10) if x % 2 == 0]
print(evens)  # [0, 2, 4, 6, 8]


이와 같이, 파이썬의 제어구조는 코드의 흐름을 유연하게 제어하고 다양한 상황에 맞게 프로그램을 작성할 수 있게 해줍니다. 각 제어구조의 특성과 사용법을 잘 이해하면 더 효율적이고 가독성 높은 코드를 작성할 수 있습니다.