| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
- 자바
- list
- java테스트
- 인텔리제이
- 스프링부트
- 문자열
- 자바문법
- javascript
- js
- Visual Studio Code
- HashMap
- string
- 자바스크립트
- ArrayList
- SpringBoot
- vscode
- junit
- input
- html
- IntelliJ
- 배열
- Eclipse
- 정규식
- 단위테스트
- CSS
- 테스트자동화
- Java
- junit5
- math
- Array
- Today
- Total
어제 오늘 내일
[Python 기초] 7. "괄호가 없어서 어색해요..." 파이썬의 생명, 들여쓰기(Indentation)와 if문 본문
[Python 기초] 7. "괄호가 없어서 어색해요..." 파이썬의 생명, 들여쓰기(Indentation)와 if문
hi.anna 2026. 4. 9. 09:36프로그램이 똑똑해 보이려면 상황에 맞게 다른 행동을 해야 합니다. 로그인할 때 비밀번호가 맞으면 환영해주고, 틀리면 다시 입력하라고 경고창을 띄우는 것처럼요.
이런 논리적인 흐름을 제어하는 제1원칙이 바로 조건문(if문)입니다. 그리고 파이썬에서 조건문을 쓸 때 절대 모르면 안 되는 아주 독특하고 아름다운 규칙이 하나 있습니다.
1. 파이썬의 생명줄: 들여쓰기 (Indentation)
다른 프로그래밍 언어들을 보면 복잡한 중괄호 { }를 사용해서 "여기서부터 여기까지가 한 묶음이야!"라고 표시합니다.
하지만 파이썬 창시자는 코드가 지저분해지는 것을 싫어했습니다. 그래서 괄호를 과감히 없애고, '들여쓰기(여백)'로 코드의 구역을 나누도록 만들었습니다.
- 규칙 1: 조건문 끝에는 반드시 콜론(
:)을 붙여야 합니다. ("내 밑으로 주목!" 이라는 뜻입니다.) - 규칙 2: 콜론 다음 줄부터는 무조건 들여쓰기(Space 4번 또는 Tab 1번)를 해야 합니다.
- 규칙 3: 들여쓰기가 끝나는 시점이 조건문이 끝나는 시점입니다.
📌 예제 코드: 들여쓰기의 중요성
weather = "비"
if weather == "비":
print("우산을 챙기세요!") # 들여쓰기 됨 (if문에 포함)
print("장화도 신으세요!") # 들여쓰기 됨 (if문에 포함)
print("외출을 합니다.") # 들여쓰기 없음 (if문과 상관없이 무조건 실행)
만약 print("우산을 챙기세요!") 앞에 띄어쓰기를 깜빡한다면 파이썬은 IndentationError(들여쓰기 에러)를 내뿜으며 파업해버립니다. 처음엔 낯설지만, 이 규칙 덕분에 세상 모든 파이썬 코드는 누가 짜든 아주 깔끔하고 읽기 쉽습니다.
2. 기본 조건문: if, else, elif
조건이 하나만 있는 게 아니죠? "비가 오면 우산, 눈이 오면 패딩, 둘 다 아니면 겉옷"처럼 여러 갈래로 나눌 때 사용하는 삼총사입니다.
if: 만약 ~라면 (가장 처음에 등장)elif: 그게 아니고, 만약 ~라면 (여러 번 사용 가능, else if의 줄임말)else: 위의 조건들이 모두 아니라면 (가장 마지막에 등장, 조건식 불필요)
📌 예제 코드: 점수에 따른 학점 매기기
score = 85
if score >= 90:
print("A학점입니다.")
elif score >= 80:
print("B학점입니다.") # score가 85이므로 여기가 실행됩니다!
elif score >= 70:
print("C학점입니다.")
else:
print("재수강을 권장합니다.")
💡 코드 설명:
- 위에서부터 차례대로 조건을 검사합니다.
score >= 90이 거짓(False)이므로 다음elif로 넘어갑니다.score >= 80이 참(True)이므로 "B학점입니다."를 출력하고, 그 아래의 조건들은 거들떠보지도 않고 빠져나옵니다.
3. 파이썬만의 아름다운 논리 연산자 (and, or, not)
조건을 여러 개 섞어야 할 때도 파이썬은 기호를 쓰지 않고 영어 단어를 그대로 씁니다.
and(그리고): 양쪽 조건이 모두 참이어야 실행or(또는): 둘 중 하나만 참이어도 실행not(반대): 참이면 거짓으로, 거짓이면 참으로 뒤집음
📌 예제 코드: 놀이기구 탑승 조건
age = 15
height = 160
# 나이가 14세 이상 '그리고' 키가 150 이상이어야 탑승 가능
if age >= 14 and height >= 150:
print("롤러코스터 탑승 가능!")
else:
print("탑승 불가!")
🔥 파이썬만의 사기 스킬: in 연산자
리스트나 문자열 안에 내가 찾는 값이 들어있는지 확인할 때, 다른 언어들은 복잡한 코드를 짜야 하지만 파이썬은 단어 하나면 끝납니다.
cart = ["사과", "바나나", "포도"]
if "사과" in cart:
print("장바구니에 사과가 이미 있습니다!")
if "수박" not in cart:
print("수박을 추가로 사야겠네요.")
4. [보너스] 인터넷에서 자주 보이는 은 뭘까요?
파이썬 코드를 보다 보면 파일 맨 밑에 이런 요상한 코드가 있는 걸 보게 됩니다.
if __name__ == "__main__":
print("프로그램을 시작합니다.")
이건 파이썬만의 독특한 관용구입니다. 쉽게 번역하자면 "이 파일을 다른 곳에서 부품(모듈)으로 몰래 가져다 쓴 게 아니라, 내가 직접 더블클릭해서(메인으로) 실행한 게 맞나요?"라고 묻는 조건문입니다.
- 내가 직접 실행함 -> 저 안의 코드가 작동함
- 다른 파일에서
import로 가져감 -> 저 안의 코드는 작동하지 않고 조용히 기능만 빌려줌
지금 완벽히 이해하지 않아도 괜찮습니다. "아, 프로그램의 진짜 시작점을 알려주는 표지판이구나!" 정도로만 기억해 두세요.
📝 마치며
오늘의 핵심 요약입니다.
- 파이썬에서 코드를 하나로 묶으려면 괄호 대신 들여쓰기(Space 4번)를 쓴다.
- 조건문(
if,elif,else) 끝에는 항상 콜론(:)을 잊지 말자. - 여러 조건을 묶을 땐 직관적인
and,or,in을 활용하자.
조건문을 배우셨으니 이제 여러분의 프로그램은 스스로 판단을 내릴 수 있게 되었습니다.
하지만 만약 "이 동작을 100번 반복해!"라고 시키고 싶다면 어떻게 할까요? print()를 100줄 복사 붙여넣기 할 수는 없겠죠.
다음 포스팅에서는 "수백 번의 단순 노동을 한 방에 끝내는 마법! 파이썬의 for-in 반복문"에 대해 완벽하게 알아보겠습니다.
도움이 되셨다면 좋아요와 댓글 부탁드립니다! 🐍
'IT > Python' 카테고리의 다른 글
| [Python 기초] 9. "세 줄을 한 줄로 끝낸다!" 파이썬의 꽃, 리스트 컴프리헨션 (0) | 2026.04.10 |
|---|---|
| [Python 기초] 8. "100번의 단순 노동을 단 세 줄로!" 파이썬의 for-in 반복문 완벽 가이드 (0) | 2026.04.10 |
| [Python 기초] 6. "데이터에 이름표를 달아주자!" 파이썬 딕셔너리(Dictionary)와 집합(Set) (1) | 2026.04.09 |
| [Python 기초] 5. "수십 개의 데이터를 상자 하나에!" 파이썬 리스트(List)와 튜플(Tuple) 완벽 가이드 (1) | 2026.04.08 |
| [Python 기초] 4. "문자열을 떡 주무르듯이" 인덱싱, 슬라이싱, 그리고 f-string (0) | 2026.04.08 |
