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

+ Recent posts