들어가며
어떤 언어를 배우든 가장 먼저 접하게 되는 구조 중 하나가 조건문과 반복문입니다.
Python은 매우 직관적이고 간결한 문법으로 제어 흐름을 표현할 수 있으며, 특히 **리스트 컴프리헨션(List Comprehension)**은 Python만의 대표적인 간결 표현 기법입니다.
이 글에서는 language/python 카테고리 주제로 Python의 if, for, while 그리고 list comprehension 문법까지 실제 예제 중심으로 정리합니다.
1. 조건문 (if, elif, else)
x = 10
if x > 0:
print("양수입니다")
elif x == 0:
print("0입니다")
else:
print("음수입니다")
- 들여쓰기(indent)로 블록을 표현합니다 (: 필수)
- elif는 여러 조건 분기를 구성할 때 사용
- Python에서는 switch문 대신 if-elif 체계를 사용
조건식 응용
score = 85
print("합격" if score >= 60 else "불합격") # 삼항 연산자
2. 반복문 – for, while
✅ for 문
for i in range(5):
print(i)
- range(n)은 0부터 n-1까지 반복
- 문자열, 리스트, 튜플 등 반복 가능한(iterable) 객체도 순회 가능
for c in "hello":
print(c)
✅ while 문
i = 0
while i < 5:
print(i)
i += 1
- 조건이 참일 동안 반복
✅ break, continue
for i in range(5):
if i == 3:
break # 루프 종료
if i == 1:
continue # 이번만 건너뜀
print(i)
3. 리스트 컴프리헨션 (List Comprehension)
기존의 반복문을 한 줄로 간결하게 표현하는 문법입니다.
기본형
squares = [x * x for x in range(5)]
# 결과: [0, 1, 4, 9, 16]
조건 필터링
even = [x for x in range(10) if x % 2 == 0]
이중 루프
pairs = [(x, y) for x in range(3) for y in range(2)]
문자열 필터링
vowels = [c for c in "alphabet" if c in "aeiou"]
리스트 컴프리헨션 vs for 문 비교
# 일반 for 문
result = []
for x in range(5):
result.append(x * 2)
# 리스트 컴프리헨션
result = [x * 2 for x in range(5)]
- 동작은 같지만 코드 길이와 가독성에서 큰 차이
- 다만, 너무 복잡한 로직은 for문이 더 명확할 수 있음
마치며
조건문과 반복문은 프로그램의 흐름을 제어하는 가장 기본적인 도구입니다.
Python은 이 구조를 매우 직관적으로 설계해, 짧고 가독성 좋은 코드를 작성할 수 있게 도와줍니다.
특히 리스트 컴프리헨션은 실무에서도 자주 쓰이므로 꼭 익혀두는 것이 좋습니다.
📂 다음 글에서는:
- 함수 정의와 호출 방식
- 매개변수의 종류 (*args, **kwargs)
- 람다(lambda) 함수와 클로저 구조
등 Python 함수 관련 주제를 이어서 다루겠습니다.
📌 이전 글 보러가기
👉 리스트, 튜플, 딕셔너리, 셋 – Python 핵심 자료구조 비교와 활용
📌 다음 글 미리보기
👉 함수, 매개변수, *args, **kwargs, 스코프, 클로저, 데코레이터
📚 언어 Python 시리즈 전체 보기
👉 https://jobreview.tistory.com/category/language/python
'language > python' 카테고리의 다른 글
클래스, 상속, dunder 메서드 – Python 객체지향 기초 정리 (0) | 2025.04.19 |
---|---|
함수, 매개변수, *args, **kwargs, 스코프, 클로저, 데코레이터 – Python 함수 구조 정리 (0) | 2025.04.19 |
리스트, 튜플, 딕셔너리, 셋 – Python 핵심 자료구조 비교와 활용 (0) | 2025.04.19 |
변수와 자료형, 그리고 Python의 동적 타이핑 이해하기 (2) | 2025.04.19 |
Python 언어의 철학과 특징 – 왜 많은 개발자가 선택하는가? (0) | 2025.04.19 |
댓글