List 맛보기
여러 개의 값을 한 묶음으로 관리하기 위한 자료형
• 여러 데이터를 담을수 있다. (숫자, 문자, 심지어 리스트도 담을수 있음)
• 순서가 존재한다. (인덱스 사용 가능함)
• 대괄호 [ ]를 사용하여 리스트 생성한다.
# 1. 리스트 생성
my_list = [1, 2, 3, 4, 5]
# 2. 리스트의 기본 구조
print(my_list) # 출력: [1, 2, 3, 4, 5]
• 대괄호 [ ] - 여러 개의 값을 담는 자료형 이란 선언
• 쉼표 , - 각 값은 독립된 요소(element) 라는 의미
• 순서가 있다 - 1 → 2 → 3 → 4 → 5
조건문
조건의 참(True) / 거짓(False)에 따라 프로그램의 실행 흐름을 분기시키는 제어 구조
즉, 특정 조건이 만족될 때만 원하는 코드 블록을 실행하도록 만드는 장치이다.
if / elif / else 기본 구조
if 조건식1:
# 조건1이 True일 때 실행할 코드
elif 조건식2:
# 조건1은 False이고, 조건2가 True일 때 실행할 코드
elif 조건식3:
# 조건1,2 모두 False이고 조건3이 True일 때 실행할 코드
else:
# 위의 모든 조건이 False일 때 실행할 코드
• if : 가장 먼저 검사되는 조건
• elif : 앞의 조건이 거짓일 때 추가로 검사하는 조건 (여러 개 가능)
• else : 위의 모든 조건이 거짓일 때 실행되는 기본 분기
조건문 기본 개념
• 조건식은 반드시 불리언 값 (참, 거짓)으로 평가될 수 있는 식이어야 한다.
→ 비교 연산, 논리 연산, 함수의 반환값, 변수 자체 등이 조건식이 될 수 있다
• 파이썬에서는 0, None, ""(빈 문자열), [](빈 리스트), {}(빈 딕셔너리) 등도 False로 간주한다
• :(콜론) 뒤의 코드는 반드시 들여쓰기를 통해 블록을 형성한다.
• 들여쓰기가 없으면 문법 오류가 발생
조건문과 함께 자주 쓰이는 비교 연산자
두 값을 비교하여 True 또는 False를 반환합니다. 조건문에서 가장 기본적으로 사용됩니다.
| 연산자 | 의미 | 예시 | 결과 |
| == | 같음 | x == y | x와 y가 같으면 True |
| != | 같지 않음 | x != y | x와 y가 다르면 True |
| < | 작음 | x < y | x가 y보다 작으면 True |
| > | 큼 | x > y | x가 y보다 크면 True |
| <= | 작거나 같음 | x <= y | x가 y보다 작거나 같으면 True |
| >= | 크거나 같음 | x >= y | x가 y보다 크거나 같으면 True |
사용예시
score = 85
if score >= 90:
print("A 학점")
elif score >= 80:
print("B 학점")
elif score >= 70:
print("C 학점")
else:
print("D 학점")
논리 연산자
• and: 모든 조건이 True일 때만 True
x = 7
if x > 0 and x < 10:
print("x는 0보다 크고 10보다 작습니다.")
• or : 하나라도 조건이 True이면 True
is_weekend = False
is_holiday = True
if is_weekend or is_holiday:
print("쉬는 날입니다.")
• not: 조건의 결과를 반전(True ↔ False)
age = 20
has_id = False
if age >= 19 and not has_id:
print("성인이지만 신분증이 없습니다.")
pass 구문의 개념
문법적으로는 문장이 필요하지만, 실행할 동작은 없을 때 사용하는 자리 채우기용 키워드
x = 10
if x > 0:
pass # 조건이 True지만 아무 동작도 하지 않음
else:
print("0 이하입니다.")
• 조건 구조를 미리 만듦
• 나중에 로직을 채우고 싶을 때 사용
in / not in 연산자의 개념
• in : 특정 값이 컨테이너(리스트, 문자열, 튜플 등)에 포함되어 있는지 검사
• not in : 포함되어 있지 않은지 검사
fruits = ["apple", "banana", "cherry"]
if "apple" in fruits:
print("사과가 있습니다.") # 출력됨
if "orange" not in fruits:
print("오렌지가 없습니다.") # 출력됨
중첩 if문의 개념
조건문 안에 또 다른 조건문을 넣는 구조
age = 20
is_student = True
if age >= 18:
if is_student:
print("성인 학생입니다.")
else:
print("성인이지만 학생은 아닙니다.")
• 1차 조건을 먼저 분기
• 그 결과에 따라 2차 조건을 추가로 판단
삼항 연산자(조건부 표현식)
조건에 따라 값을 바로 선택하는 표현식이다.
# 기본 형태
# 참일때값 if 조건식 else 거짓일때값
score = 75
result = "합격" if score >= 60 else "불합격"
print(result) # 출력: 합격
• 결과가 하나의 값으로 결정됨
• 변수에 바로 할당할 수 있음
정리
- 조건문은 프로그램 흐름을 제어하는 핵심 구조이다.
- 조건식은 True / False로 평가되어야 한다.
- if → elif → else는 위에서 아래로 순차 평가된다.
- 비교 연산자와 논리 연산자를 조합해 조건을 만든다.
- 들여쓰기는 코드 블록의 범위를 의미한다.
- pass는 실행할 코드가 없을 때 사용하는 문법적 자리 표시자이다.
- 삼항 연산자는 조건에 따라 값을 선택하는 표현식이다.
반복문
반복문의 개념과 필요성
프로그램 내에서 특정한 코드 블록을 여러 번 반복 실행하고자 할 때 사용하는 문법 구조
반복문의 종류와 선택 기준
for 문
• 반복 횟수나 대상이 명확할 때 사용
• 리스트, 문자열, range 등 반복 가능한 객체(iterable)를 순회
• 데이터 분석에서 가장 자주 사용됨
while 문
• 반복 횟수가 정해져 있지 않고, 조건에 따라 반복을 종료해야 할 때 사용
• 조건이 계속 True이면 무한 반복이 발생할 수 있어 주의 필요
기본적으로는 for, 특정 조건 기반 반복이 필요할 때 while을 선택하는 것이 일반적이다.
for 문의 구조와 동작 원리
for 변수 in 반복가능한객체:
실행할 코드
핵심 개념
• 반복가능한객체(iterable) : 내부에 여러 값을 순서대로 가지고 있는 객체
• 변수 : 매 반복마다 하나씩 값을 받아 저장하는 역할
for 문은 다음 흐름으로 동작한다.
• 첫 번째 값을 꺼낸다
• 변수에 저장한다
• 블록 내부 코드를 실행한다
• 다음 값이 있으면 다시 반복한다
• 더 이상 값이 없으면 반복 종료
numbers = [1, 2, 3, 4, 5]
for num in numbers:
print(num)
1-1 range()의 개념과 역할
정수 시퀀스를 생성하는 반복 가능한 객체다.
실제 리스트를 만들지 않고, 필요한 숫자를 순차적으로 생성한다.
• range(n) : 0부터 n-1까지
• range(start, end) : start부터 end-1까지
• range(start, end, step) : step 간격으로 증가
• start, step은 생략 가능
for i in range(5):
print("현재 i의 값:", i)
1-2 문자열과 반복문
for 문을 사용하면 문자열을 문자 단위로 순회할 수 있다.
text = "Python"
for ch in text:
print(ch)
while 문의 구조와 동작 원리
while 조건:
수행할 코드 블록
핵심 개념
• 조건식이 True인 동안 반복
• 반복이 끝날 조건을 직접 관리해야 함
while 문은 다음 흐름으로 동작한다.
• 조건이 처음부터 False면 한 번도 실행되지 않음
• 조건을 변경하지 않으면 무한 루프 발생 가능
반복문 제어문: break와 continue
반복문 내부에서 흐름을 세밀하게 제어하기 위해 사용한다.
break
• 반복문을 즉시 종료
• 반복 조건과 무관하게 루프를 빠져나감
for i in range(1, 11):
if i == 5:
break
print(i)
i가 5가 되는 순간 break가 실행되어 반복을 멈춘다. 따라서 5 이후의 숫자는 출력되지 않는다.
continue
• 현재 반복만 건너뜀
• 다음 반복으로 즉시 이동
for i in range(1, 11):
if i == 5:
continue
print(i)
i가 5일 때 continue로 인해 아래 print(i) 부분을 건너뛰고 다음 반복으로 넘어간다.
조건이 복잡해질수록 break / continue를 적절히 사용하면 가독성이 좋아진다.
중첩 반복문
중첩 반복문은 반복문 안에 또 다른 반복문이 들어간 구조다
바깥 반복문 1회 실행마다. 안쪽 반복문이 전체 실행됨
for dan in range(2, 10): # 2단부터 9단까지
for num in range(1, 10): # 각 단에서 1부터 9까지 곱하기
print(f"{dan} x {num} = {dan * num}")
print() # 각 단이 끝나면 한 줄 공백
반복문과 함께 자주 쓰이는 도구 함수
enumerate()
• 인덱스와 값을 동시에 제공
• 카운트 변수 없이 순번 처리 가능
fruits = "apple"
for idx, fruit_char in enumerate(fruits):
print(f"{idx}: {fruit_char}")
zip()
• 여러 반복문을 병렬로 순회
• 같은 위치의 값들을 묶어서 처리
fruits = ["apple", "banana", "cherry"]
prices = [1000, 2000, 3000]
for fruit, price in zip(fruits, prices):
print(f"{fruit}: {price}원")
전체 요약
- 반복문은 작업 자동화와 흐름 제어의 핵심 구조다
- 반복 대상이 명확하면 for, 조건 기반이면 while을 사용한다
- iterable의 개념을 이해하는 것이 for 문 이해의 핵심이다
- break와 continue는 반복 흐름을 제어하는 도구다
- 중첩 반복문은 필요할 때만 사용해야 한다
반복문 (for문 while문의 개념, 차이점) 다시 한번 살펴보기
for문 range 다시 한번 살펴보기
중첩 반복문 햇갈려 하니 복습 때 다시 공부하기
'A.Today I Learne > 파이썬' 카테고리의 다른 글
| [TIL] 파이썬 5일차 (0) | 2026.01.14 |
|---|---|
| [TIL] 파이썬 4일차 (0) | 2026.01.12 |
| [TIL] 파이썬 3일차 (1) | 2026.01.09 |
| [TIL] 파이썬 1일차 (0) | 2026.01.05 |
