코드 위의 하루 (A Day on the Code)

🐍 [기초] if문, for문 진짜 이해하기 – 흐름 제어를 처음으로 체감한 순간 본문

🍚전공이 밥 먹여준다믄/🐍 파이썬

🐍 [기초] if문, for문 진짜 이해하기 – 흐름 제어를 처음으로 체감한 순간

code.with.siyeon 2025. 5. 15. 23:10

프로그래밍을 막 시작했을 때,
if문, for문은 항상 제일 먼저 배우는 문법이었고
너무 당연하고 기본적인 거라고들 했다.

그래서 나도 그냥…

if a > 0:
    print("양수입니다.")
for i in range(3):
    print(i)

이렇게 쓰면서
“아~ 조건문, 반복문이구나~” 하고 넘겼다.

그런데 ❗
“이게 왜 필요한 건데?” 라는 생각을 한 건
진짜 프로그램을 만들면서였다.


🔹 if문은 ‘상황을 나누는 힘’이었다 🧠

프로젝트에서 사용자 입력을 처리할 때,
조건이 달라지면 결과도 완전히 달라지는 걸 경험했다.

if user.is_authenticated:
    show_profile()
else:
    redirect_to_login()

여기서 처음으로 if의 진짜 의미를 느꼈다.

단순히 조건에 따라 실행 여부를 나누는 게 아니라,
"흐름을 분기시키는 것", 즉 "상황에 맞게 길을 나누는 로직"이었던 것.

프로그래밍은 결국 조건에 따라 동작을 달리하는 일이고,
그 시작이 바로 if문이라는 걸 나중에야 알게 됐다.


🔹 for문은 ‘코드 반복’이 아니라 ‘자동화의 시작’이었다 🔁

처음엔 그냥 이렇게 썼다:

for i in range(5):
    print("Hello")

근데 리스트를 다루기 시작하면서,
for문이 단순 반복이 아니라 '구조를 순회'하는 도구라는 걸 알게 됐다.

users = ['시연', '현우', '지원']
for name in users:
    print(f"{name}님, 환영합니다!")

더 놀라웠던 건 for문 안에 조건을 넣어서
반복 + 조건을 동시에 처리할 수 있다는 것:

for age in ages:
    if age >= 20:
        adult_count += 1

이게 쌓이면 바로 리스트 컴프리헨션으로 이어진다.


🔹 처음 알게 된 진짜 흐름 제어의 감각 ✨

조건 → 반복 → 함수 호출 → 조건…
이 흐름이 맞물릴 때 비로소 프로그램이 ‘살아 움직인다’는 느낌이 들었다.

특히 API 만들 때,

if request.method == 'POST':
    # 데이터 저장
elif request.method == 'GET':
    # 데이터 조회

이런 조건문 구조가 실제 서비스의 흐름을 설계하는 도구라는 걸 느꼈고,
그게 프로그래밍이라는 걸 이해하게 됐다.


✍️ 정리하자면…

  • if문은 단순 조건이 아니라 논리 흐름을 나누는 길
  • for문은 반복 그 이상, 데이터 구조를 순회하는 핵심 구조
  • 실습 없이 외우기만 했을 땐 몰랐지만,
    프로젝트 속에서 써보니 진짜 의미가 보이기 시작했다

이 글도 결국 나에게 하는 말이다.

📌 “한 줄 한 줄이 의미가 생기기 시작하면,
코드는 더 이상 외우는 게 아니라 설계하는 게 된다.”


📘 다음 글 예고:
🐍 [기초] def 함수는 왜 써야 해? return은 왜 넣지?

다음 글에서는 함수의 구조와 역할,
그리고 왜 “묶는다는 것”이 중요한지를 정리해보려고 한다. 😊