파이썬에서 제어구조는 프로그램의 흐름을 제어하는 데 사용됩니다. 제어구조는 조건문, 반복문, 예외 처리 등을 포함하여 프로그램의 로직을 결정하고 제어할 수 있게 해줍니다. 아래에 주요 제어구조의 사용법을 설명하겠습니다.
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] |
이와 같이, 파이썬의 제어구조는 코드의 흐름을 유연하게 제어하고 다양한 상황에 맞게 프로그램을 작성할 수 있게 해줍니다. 각 제어구조의 특성과 사용법을 잘 이해하면 더 효율적이고 가독성 높은 코드를 작성할 수 있습니다.
'파이썬 문법' 카테고리의 다른 글
파이썬에서 파일 입출력. (0) | 2024.08.16 |
---|---|
파이썬에서 함수의 다양한 특성과 기능 (0) | 2024.08.15 |
파이썬에서 클래스 핵심 개념 (0) | 2024.08.12 |
파이썬에서 형 변환(type casting 또는 type conversion) (0) | 2024.08.11 |
파이썬에서 딕셔너리(dictionary). (0) | 2024.08.05 |