파이썬 기초 문법 완벽 정리 | 변수·출력·조건문·반복문을 한 번에 끝내자
“파이썬 기초 문법을 처음 배울 때 ‘어디서부터 시작해야 할까?’ 막막하셨나요?” 많은 분이 프로그래밍을 시작하며 비슷한 고민을 합니다. 하지만 걱정하지 마세요. 파이썬은 처음 프로그래밍을 배우는 사람에게 가장 좋은 친구가 되어줄 수 있습니다. 코딩의 ‘ㅋ’자도 몰라도 괜찮습니다. 이 글 하나로 파이썬의 핵심 뼈대를 확실하게 잡아드리겠습니다.
파이썬이 초보자에게 특히 좋은 이유는 명확합니다. 첫째, 문법이 영어와 비슷해 매우 직관적입니다. 복잡한 규칙 대신 우리가 생각하는 방식대로 코드를 쓸 수 있습니다. 둘째, 인공지능(AI), 데이터 분석, 업무 자동화 등 현재 가장 주목받는 분야에서 활발히 사용됩니다. 마지막으로, 전 세계 개발자들이 가장 사랑하는 언어 중 하나로, TIOBE 인덱스와 같은 주요 프로그래밍 언어 순위에서 꾸준히 1위를 차지하고 있습니다.
이 글에서는 파이썬 프로그래밍의 가장 기본이 되는 네 가지 기둥, 바로 파이썬 변수, print 사용법, 조건문, 반복문을 다룹니다. 어려운 이론 설명은 최소화하고, 지금 당장 따라 할 수 있는 실습 예제 중심으로 쉽고 명쾌하게 설명해 드립니다. 파이썬 기초 문법만 제대로 익혀도, 간단한 프로그램을 직접 만들고 더 복잡한 개념으로 나아갈 튼튼한 발판을 마련할 수 있습니다. 이 글 하나면 추가 검색 없이 기초 학습을 끝낼 수 있도록 모든 것을 담았습니다.
목차
- 섹션 0: 파이썬이란? – 환경 설정부터 시작하기
- 섹션 1: 파이썬 변수 – 데이터를 담는 그릇 이해하기
- 섹션 2: 파이썬 출력 함수 사용법 – print() 완전 정복
- 섹션 3: 조건문 – 상황에 따라 다르게 실행하기
- 섹션 4: 반복문 – 반복 작업을 코드로 자동화하기
- 섹션 5: 종합 실습 예제 – 배운 개념을 한 번에 사용해보기
- 섹션 6: 초보자가 자주 하는 실수 & 해결 방법 TOP 5
- 마무리: 파이썬 기초 문법, 이제 당신의 것입니다!
- 자주 묻는 질문 (FAQ)
섹션 0: 파이썬이란? – 환경 설정부터 시작하기
본격적으로 파이썬 기초 문법을 배우기 전에, 파이썬이 어떤 언어인지 간단히 알아보고 코드를 실행할 준비를 마쳐야 합니다. 이 과정은 전혀 어렵지 않으니 차근차근 따라오세요.
파이썬(Python)의 정의와 특징
파이썬은 1991년 귀도 반 로섬(Guido van Rossum)이라는 프로그래머가 개발한 고급 프로그래밍 언어입니다. ‘고급’이라는 말은 사람이 이해하기 쉬운 언어라는 뜻입니다. 파이썬의 핵심 특징은 다음과 같습니다.
- 간결한 문법: 코드가 짧고 명확해 초보자가 배우기 쉽고, 숙련자는 빠르게 개발할 수 있습니다.
- 풍부한 라이브러리 생태계: 다른 사람들이 미리 만들어 둔 코드 묶음(라이브러리)이 매우 많아, 복잡한 기능도 쉽게 가져와 사용할 수 있습니다.
- 높은 범용성: 웹 개발, 데이터 과학, 인공지능, 업무 자동화, 게임 개발 등 거의 모든 분야에서 활용됩니다.
이러한 특징 덕분에 파이썬은 인공지능을 만드는 텐서플로우(TensorFlow)나 파이토치(PyTorch) 같은 핵심 기술의 기반이 되며, 엑셀 파일을 정리하거나 웹사이트에서 정보를 가져오는 등 귀찮은 업무를 자동화하는 데에도 탁월한 능력을 보여줍니다. 데이터 분석가나 백엔드 개발자를 꿈꾼다면 파이썬은 선택이 아닌 필수 기술입니다.
파이썬 실행 환경 설정 (초보자 중심 안내)
코드를 작성하고 실행하기 위한 환경을 설정하는 방법은 두 가지가 있습니다. 초보자라면 두 번째 방법을 강력히 추천합니다.
방법 1: Python 공식 사이트에서 직접 설치하기
컴퓨터에 파이썬을 직접 설치하는 정석적인 방법입니다.
1. Python 공식 사이트에 접속합니다.
2. 최신 안정 버전을 다운로드합니다. (2026년 현재 3.12+ 버전 권장)
3. 설치 파일을 실행하고, 첫 화면에서 “Add Python to PATH” 체크박스를 반드시 클릭합니다. 이 옵션을 선택해야 어디서든 파이썬 명령어를 쉽게 실행할 수 있습니다.
방법 2: 구글 Colab 활용하기 (초보자 강력 추천)
설치 과정 없이 웹 브라우저에서 즉시 파이썬 코드를 실행할 수 있는 최고의 방법입니다.
1. 구글 계정으로 로그인합니다.
2. Colab 주소로 이동하여 ‘새 노트’를 클릭합니다.
3. 이제 보이는 회색 코드 셀에 바로 코드를 작성하고 실행할 수 있습니다.
테스트 코드 실행
환경 설정이 잘 되었는지 확인해 봅시다. 아래 코드를 입력하고 실행해 보세요. (Colab에서는 `Shift` + `Enter` 키를 누르면 됩니다.)
print("Hello, 파이썬 기초 문법!")
화면에 “Hello, 파이썬 기초 문법!”이라는 문장이 나타났다면, 성공적으로 모든 준비를 마친 것입니다.

섹션 1: 파이썬 변수 – 데이터를 담는 그릇 이해하기
프로그래밍의 가장 기본은 데이터를 다루는 것입니다. 파이썬 변수는 숫자, 글자 등 다양한 데이터를 저장하고 필요할 때마다 꺼내 쓸 수 있게 해주는 가장 중요한 도구입니다. 파이썬 기초 문법의 첫걸음은 변수를 이해하는 것에서부터 시작됩니다.
1-1. 파이썬 변수의 개념
변수(Variable)란 간단히 말해 ‘데이터를 담는 그릇’ 또는 ‘데이터에 붙이는 이름표’입니다. 예를 들어 `age = 20`이라는 코드는 `20`이라는 숫자 데이터를 `age`라는 이름의 그릇에 담는다는 의미입니다. 이렇게 저장해두면, 나중에 `age`라는 이름만 불러도 `20`이라는 값을 쉽게 재사용할 수 있습니다.
파이썬 변수는 `변수명 = 값` 형태로 매우 간단하게 만들 수 있습니다. 자바(Java)나 C++ 같은 다른 언어처럼 변수에 어떤 종류의 데이터가 들어갈지 미리 알려줄 필요가 없습니다. 파이썬이 알아서 값의 종류를 파악하기 때문인데, 이를 ‘동적 타이핑(Dynamic Typing)’이라고 부르며 파이썬을 쉽고 유연하게 만들어주는 핵심 특징입니다.
1-2. 파이썬의 주요 자료형(Data Type)
변수에는 다양한 종류의 데이터를 담을 수 있습니다. 가장 기본적으로 사용되는 4가지 자료형을 알아봅시다.
- 정수형 (int): `1`, `100`, `-50`과 같이 소수점이 없는 숫자입니다.
age = 25 - 실수형 (float): `3.14`, `-0.5`와 같이 소수점이 있는 숫자입니다.
height = 175.5 - 문자열 (str): `”안녕하세요”`, `’Python’`과 같이 글자들의 집합입니다. 큰따옴표(`”`)나 작은따옴표(`’`)로 감싸줍니다.
name = "홍길동" - 불리언 (bool): `True`(참) 또는 `False`(거짓), 단 두 가지 값만 가집니다. 조건문에서 주로 사용되며, 반드시 첫 글자를 대문자로 써야 합니다.
is_student = True
변수에 어떤 종류의 데이터가 들어있는지 확인하고 싶을 때는 `type()` 함수를 사용하면 됩니다.
age = 25
height = 175.5
name = "홍길동"
is_student = True
print(type(age)) # 출력: <class 'int'>
print(type(height)) # 출력: <class 'float'>
print(type(name)) # 출력: <class 'str'>
print(type(is_student)) # 출력: <class 'bool'>
1-3. 파이썬 변수 명명 규칙 (Naming Rules)
파이썬 변수의 이름을 지을 때는 몇 가지 규칙을 따라야 합니다.
반드시 지켜야 할 규칙:
- 변수명은 영문자(a-z, A-Z), 숫자(0-9), 밑줄 기호(_)만 사용할 수 있습니다.
- 숫자로 시작할 수 없습니다. (`1name` ❌, `name1` ✅)
- `if`, `for`, `while`처럼 파이썬이 이미 사용하고 있는 예약어는 변수명으로 쓸 수 없습니다.
모두가 따르는 약속 (PEP 8 스타일 가이드):
- 변수명: 여러 단어를 합칠 때는 밑줄 기호로 연결하는 스네이크 케이스(snake_case)를 사용합니다. (`user_age`, `my_name`)
- 상수: 절대로 바뀌지 않는 값을 저장할 때는 모든 글자를 대문자와 밑줄 기호로 작성합니다. (`MAX_SIZE = 100`)
- 의미 있는 이름 짓기: `a = 20`처럼 의미를 알 수 없는 이름 대신, `student_age = 20`처럼 누구나 용도를 파악할 수 있는 이름을 사용하는 것이 좋습니다.
1-4. 다중 변수 할당
파이썬은 여러 변수에 값을 한 번에 할당하는 편리한 기능을 제공합니다.
- 여러 변수에 각기 다른 값 할당:
a, b, c = 1, 2, 3
(a에는 1, b에는 2, c에는 3이 저장됩니다.) - 여러 변수에 동일한 값 할당:
x = y = z = 0
(x, y, z 모두에 0이 저장됩니다.)
1-5. 파이썬 변수 실습 예제
이제 배운 내용을 바탕으로 간단한 실습을 해봅시다. 이름과 나이를 변수에 저장하고 출력하는 코드입니다.
name = "철수"
age = 20
print("이름:", name)
print("나이:", age)
# 출력 결과
# 이름: 철수
# 나이: 20
만약 변수명을 `name`이 아닌 `naem`처럼 오타를 내면, 파이썬은 그런 이름의 변수를 찾을 수 없다는 의미의 `NameError`를 발생시킵니다. 올바른 파이썬 변수 사용법을 익히는 것은 모든 프로그래밍의 가장 튼튼한 기초가 됩니다.

섹션 2: 파이썬 출력 함수 사용법 – print() 완전 정복
프로그래밍을 배울 때 가장 중요한 활동 중 하나는 내가 작성한 코드가 어떻게 동작하는지, 변수에는 어떤 값이 담겨 있는지 눈으로 직접 확인하는 것입니다. 파이썬 출력 함수 사용법의 핵심인 `print()` 함수가 바로 그 역할을 합니다. `print()`는 파이썬과 대화하는 가장 기본적인 수단이며, 이를 잘 활용하면 학습 효율과 코드의 문제 해결(디버깅) 능력이 크게 향상됩니다.
2-1. print() 함수가 중요한 이유
`print()` 함수는 단순히 글자를 화면에 보여주는 것 이상의 의미를 가집니다. 코드 실행 중간중간에 `print()`를 사용해 변수의 값을 확인하면, 코드의 흐름을 추적하고 예상치 못한 오류의 원인을 찾는 데 결정적인 단서를 얻을 수 있습니다. 따라서 print 사용법을 제대로 익히는 것은 초보자에게 가장 강력한 무기를 얻는 것과 같습니다.
2-2. print 사용법 기본 구조
가장 기본적인 `print 사용법`은 괄호 안에 출력하고 싶은 내용을 넣는 것입니다.
- 단일 값 출력:
print("Hello, World!") - 여러 값 동시 출력: 쉼표(`,`)로 여러 값을 구분하면, 각 값은 기본적으로 공백 한 칸으로 띄어져 출력됩니다.
print("파이썬", "기초", "문법")
(출력:파이썬 기초 문법)
2-3. sep 매개변수 활용
`sep`은 ‘separator(구분자)’의 줄임말로, 여러 값을 출력할 때 그 사이를 무엇으로 채울지 지정하는 기능입니다.
- 기본값은 공백(`” “`)입니다.
- `sep`의 값을 변경하면 출력 형태를 다양하게 바꿀 수 있습니다.
# 값들을 하이픈(-)으로 연결하여 출력
print("2026", "03", "17", sep="-")
# 출력: 2026-03-17
# 값들 사이에 아무것도 넣지 않고 붙여서 출력
print("user", "example.com", sep="@")
# 출력: user@example.com
2-4. end 매개변수 활용
`end`는 `print()` 함수가 모든 값을 출력한 후, 마지막에 무엇을 추가할지 지정하는 기능입니다.
- 기본값은 줄바꿈을 의미하는 특수문자 `\n`입니다. 그래서 `print()`를 여러 번 쓰면 결과가 여러 줄에 나옵니다.
- `end` 값을 변경하면 줄바꿈을 없애거나 다른 문자를 추가할 수 있습니다.
print("Hello", end=" ") # 출력 후 줄을 바꾸지 않고 공백 추가
print("World") # 이어서 출력
# 출력: Hello World (한 줄에 출력됨)
print("로딩 중...", end="")
print("완료!")
# 출력: 로딩 중...완료!
2-5. f-string을 이용한 포맷 출력 (Python 3.6+ 강력 추천)
f-string은 변수와 문자열을 가장 쉽고 직관적으로 조합하는 최신 파이썬 출력 함수 사용법입니다. 문자열 앞에 `f`를 붙이고, 문자열 안에 `{변수명}` 형태로 변수를 직접 넣어주면 됩니다.
name = "영희"
age = 25
# f-string을 사용한 출력
print(f"내 이름은 {name}이고, 나이는 {age}살입니다.")
# 출력: 내 이름은 영희이고, 나이는 25살입니다.
f-string의 강력함은 단순 변수 삽입에 그치지 않습니다.
- 중괄호 안에서 연산 가능:
print(f"3 더하기 5는 {3 + 5}입니다.")
(출력:3 더하기 5는 8입니다.) - 소수점 자릿수 제어:
pi = 3.141592print(f"원주율: {pi:.2f}")(소수점 둘째 자리까지 반올림)
(출력:원주율: 3.14)
2-6. 구형 포맷 방식 비교 (참고용)
f-string이 나오기 전에는 `%` 포맷팅이나 `.format()` 메소드를 사용했습니다. 참고로만 알아두세요.
- % 포맷:
print("나이: %d" % age) - .format() 방식:
print("나이: {}".format(age))
이전 방식들에 비해 f-string은 가독성이 뛰어나고 성능도 더 빠릅니다. 파이썬 기초 문법을 배우는 초보자는 고민 없이 f-string 사용법을 익히는 것이 가장 좋습니다.

섹션 3: 조건문 – 상황에 따라 다르게 실행하기
프로그램이 의미 있는 작업을 하려면 특정 상황을 판단하고, 그 결과에 따라 다른 동작을 해야 합니다. 조건문은 바로 이런 ‘조건에 따른 흐름 제어’를 가능하게 하는 핵심 문법입니다. 실생활에서 “만약 비가 오면 우산을 챙기고, 그렇지 않으면 그냥 나간다”라고 생각하는 것처럼, 코드에게 생각하는 능력을 부여하는 것입니다.
3-1. 조건문의 개념
조건문(Conditional Statement)은 주어진 조건식이 참(True)인지 거짓(False)인지에 따라 코드의 실행 경로를 결정하는 구조입니다. 로그인 시 아이디와 비밀번호가 맞는지, 시험 점수가 합격 기준을 넘었는지 등을 판단하는 모든 과정에 조건문이 사용됩니다. 이처럼 조건문은 파이썬 기초 문법 중 논리적인 흐름을 만드는 가장 중요한 요소입니다.
3-2. if 기본 구조
가장 기본적인 조건문은 `if`입니다. ‘만약 ~라면’이라는 의미를 가집니다.
문법:
if 조건식:
# 조건식이 True일 때 실행할 코드
여기서 들여쓰기(Indentation)는 파이썬 문법의 매우 중요한 규칙입니다. 조건식이 참일 때 실행될 코드 블록은 `if` 문보다 반드시 안쪽으로 들여 써야 합니다. 일반적으로 스페이스 4칸을 사용하는 것이 표준 규칙이며, 들여쓰기가 잘못되면 `IndentationError`라는 오류가 발생합니다.
예제:
age = 20
if age >= 18:
print("성인입니다.") # 이 코드는 age가 18 이상일 때만 실행됩니다.
3-3. if ~ else 구조
`if` 조건이 거짓(False)일 경우에 실행할 코드를 지정하고 싶을 때 `else`를 사용합니다. ‘그렇지 않다면’이라는 의미입니다.
예제 – 점수에 따른 합격/불합격 판별:
score = 75
if score >= 80:
print("합격입니다!")
else:
print("불합격입니다.")
# score가 75이므로 80 이상이 아니어서 else 블록이 실행됨
# 출력: 불합격입니다.
3-4. if ~ elif ~ else 구조
여러 개의 조건을 순서대로 검사해야 할 때는 `elif` (else if의 줄임말)를 사용합니다.
예제 – 점수에 따른 학점 판별:
score = 85
if score >= 90:
print("A학점")
elif score >= 80:
print("B학점")
elif score >= 70:
print("C학점")
else:
print("D학점")
# score가 85이므로 첫 번째 if 조건(>=90)은 False
# 두 번째 elif 조건(>=80)은 True이므로 "B학점"을 출력하고 조건문 전체를 빠져나옴
# 출력: B학점
`elif`는 여러 개를 사용할 수 있으며, 조건은 위에서부터 순서대로 검사되어 가장 먼저 참이 되는 블록 하나만 실행됩니다.
3-5. 비교 연산자와 논리 연산자
조건문은 다양한 연산자와 함께 사용되어 더 복잡한 조건을 만들 수 있습니다.
| 종류 | 연산자 | 설명 |
|---|---|---|
| 비교 연산자 | == |
같다 |
!= |
다르다 | |
> |
크다 | |
< |
작다 | |
>= |
크거나 같다 | |
<= |
작거나 같다 | |
| 논리 연산자 | and |
그리고 (두 조건 모두 True일 때만 True) |
or |
또는 (두 조건 중 하나라도 True이면 True) | |
not |
부정 (True를 False로, False를 True로) |
예제:
age = 20
has_license = True
# 나이가 18세 이상이고, 면허증도 있어야 운전 가능
if age >= 18 and has_license:
print("운전 가능합니다.")
3-6. 조건문 실습 예제
이제 배운 내용을 종합하여 사용자 나이에 따라 관람할 수 있는 영화 등급을 알려주는 프로그램을 만들어 봅시다.
age = 16
if age >= 19:
print("청소년 관람불가 영화를 포함한 모든 영화를 관람할 수 있습니다.")
elif age >= 15:
print("15세 이상 관람가 영화까지 볼 수 있습니다.")
elif age >= 12:
print("12세 이상 관람가 영화까지 볼 수 있습니다.")
else:
print("전체 관람가 영화만 볼 수 있습니다.")
# age가 16이므로 두 번째 elif 조건에 해당됨
# 출력: 15세 이상 관람가 영화까지 볼 수 있습니다.

섹션 4: 반복문 – 반복 작업을 코드로 자동화하기
“1부터 100까지 숫자를 출력하세요”라는 지시를 받았다면, `print(1)`, `print(2)`… 를 100번 입력하는 것은 매우 비효율적입니다. 반복문은 바로 이런 단순하고 반복적인 작업을 컴퓨터에게 자동으로 시키는 강력한 도구입니다. 반복문을 사용하면 파이썬 기초 문법만으로도 놀라운 수준의 자동화가 가능해집니다.
4-1. 반복문의 개념
반복문(Loop)은 특정 코드 블록을 여러 번 실행하도록 만드는 구문입니다. 수백 개의 파일을 한 번에 처리하거나, 데이터 목록을 하나씩 확인하는 등 프로그래밍에서 반복 작업은 필수적입니다. 파이썬에는 크게 `for` 반복문과 `while` 반복문, 두 가지 종류가 있습니다.
4-2. for 반복문
`for` 반복문은 정해진 횟수만큼 또는 데이터 목록의 모든 항목에 대해 코드를 반복 실행할 때 주로 사용됩니다.
range() 함수와 함께 사용하기
`range()` 함수는 연속된 숫자를 만들어주는 편리한 기능을 제공합니다.
- `range(5)`: 0, 1, 2, 3, 4 (0부터 5-1까지 숫자 5개)
- `range(1, 6)`: 1, 2, 3, 4, 5 (1부터 6-1까지)
- `range(2, 11, 2)`: 2, 4, 6, 8, 10 (2부터 11-1까지 2씩 증가)
예제 1 – 1부터 5까지 출력:
for i in range(1, 6):
print(f"{i}번째 실행입니다.")
예제 2 – 리스트 순회:
리스트(여러 데이터를 담은 묶음)의 각 항목을 처음부터 끝까지 하나씩 꺼내어 처리할 수 있습니다.
fruits = ["사과", "바나나", "체리"]
for fruit in fruits:
print(f"내가 좋아하는 과일: {fruit}")
4-3. while 반복문
`while` 반복문은 특정 조건이 참(True)인 동안 코드를 계속해서 반복 실행합니다. `for`문처럼 횟수가 정해진 것이 아니라, 특정 조건을 만족할 때까지 반복해야 할 때 유용합니다.
기본 구조:
while 조건식:
# 조건식이 True인 동안 반복할 코드
예제 – 1부터 숫자를 더하다가 합계가 50을 넘으면 종료:
total = 0
count = 1
while total <= 50:
total += count # total에 count 값을 더함
count += 1 # count를 1 증가시킴
print(f"합계가 50을 넘는 순간의 합: {total}")
print(f"그때까지 더한 숫자: {count - 1}")
주의: `while`문에서는 반복을 멈추게 할 조건 변화가 반드시 코드 안에 포함되어야 합니다. 그렇지 않으면 조건이 영원히 True로 유지되어 프로그램이 멈추지 않는 무한루프에 빠지게 됩니다.
4-4. break와 continue 키워드
반복문 안에서 흐름을 제어하는 특별한 키워드입니다.
- break: 반복문을 즉시 중단하고 빠져나옵니다.
for i in range(1, 11): if i == 5: print("5를 찾았으므로 반복을 중단합니다.") break print(i) # 출력: 1 2 3 4 5를 찾았으므로 반복을 중단합니다. - continue: 현재 반복 차례를 건너뛰고 바로 다음 반복으로 넘어갑니다.
for i in range(1, 6): if i == 3: print("3은 건너뜁니다.") continue print(f"{i} 출력") # 출력: 1 출력, 2 출력, 3은 건너뜁니다., 4 출력, 5 출력
4-5. for문 vs while문 비교표
| 구분 | for문 | while문 |
|---|---|---|
| 사용 시점 | 반복 횟수가 명확하거나, 데이터 목록을 순회할 때 | 특정 조건이 만족될 때까지 반복해야 할 때 (횟수가 유동적) |
| 대표 예시 | 1부터 100까지 출력, 리스트의 모든 항목에 대해 작업 | 사용자 입력을 기다릴 때, 특정 이벤트가 발생할 때까지 대기 |
| 무한루프 위험 | 거의 없음 (정해진 범위만 반복) | 종료 조건을 잘못 설정하면 발생하기 쉬움 |
4-6. 반복문 + 조건문 결합 실습
1부터 20까지의 숫자 중에서 3의 배수이면서 5의 배수인 숫자만 찾아 출력하는 예제입니다.
for i in range(1, 21):
# i가 3으로 나누어떨어지고, 동시에 5로도 나누어떨어진다면
if i % 3 == 0 and i % 5 == 0:
print(f"찾았다! 3과 5의 공배수: {i}")
# 출력: 찾았다! 3과 5의 공배수: 15

섹션 5: 종합 실습 예제 - 배운 개념을 한 번에 사용해보기
지금까지 우리는 파이썬 기초 문법의 네 가지 핵심 기둥인 파이썬 변수, print 사용법, 조건문, 반복문을 각각 배웠습니다. 이제 이 모든 조각을 하나로 모아 실제 동작하는 미니 프로그램을 만들어 볼 차례입니다.
5-1. 종합 실습 시나리오
프로젝트명: 간단한 학생 성적 관리 프로그램
목표: 여러 학생의 이름과 점수가 담긴 데이터 목록을 자동으로 처리하여, 각 학생의 점수에 맞는 학점을 부여하고 결과를 깔끔하게 출력한다.
이 실습을 통해 우리는 다음과 같은 개념을 종합적으로 활용하게 됩니다.
- 파이썬 변수: 학생들의 데이터를 리스트 형태로 저장합니다.
- 반복문: 학생 목록을 하나씩 순회하며 자동으로 처리합니다.
- 조건문: 각 학생의 점수에 따라 A, B, C, D 학점을 부여합니다.
- print 사용법: f-string을 이용해 학생별 최종 결과를 보기 좋게 출력합니다.
5-2. 전체 코드 및 주석 설명
아래 코드를 구글 Colab이나 파이썬 환경에 그대로 복사하여 실행해 보세요. 코드 각 줄에 달린 주석(#)이 어떤 역할을 하는지 설명해 줍니다.
# 1. 학생들의 이름과 점수를 튜플 형태로 묶어 리스트에 저장합니다. (파이썬 변수 활용)
students = [("철수", 85), ("영희", 92), ("민수", 78), ("지훈", 100), ("수진", 65)]
print("===== 학생 성적 처리 결과 =====")
# 2. for 반복문으로 students 리스트의 각 학생 데이터를 순서대로 꺼냅니다.
# 한 번에 이름(name)과 점수(score)를 각각 다른 변수에 할당합니다.
for name, score in students:
# 3. if-elif-else 조건문으로 점수 구간에 따라 학점(grade)을 결정합니다.
if score >= 90:
grade = "A"
elif score >= 80:
grade = "B"
elif score >= 70:
grade = "C"
else:
grade = "D"
# 4. f-string을 이용해 최종 결과를 형식에 맞춰 출력합니다. (print 사용법 활용)
print(f"학생: {name} | 점수: {score}점 | 학점: {grade}")
# 5. 중첩 조건문을 사용하여 특별한 경우(만점)에 추가 메시지를 출력합니다.
if score == 100:
print(" → 축하합니다! 완벽한 만점입니다!")
print("==============================")
예상 출력 결과:
===== 학생 성적 처리 결과 =====
학생: 철수 | 점수: 85점 | 학점: B
학생: 영희 | 점수: 92점 | 학점: A
학생: 민수 | 점수: 78점 | 학점: C
학생: 지훈 | 점수: 100점 | 학점: A
→ 축하합니다! 완벽한 만점입니다!
학생: 수진 | 점수: 65점 | 학점: D
==============================
5-3. 코드 분석 및 학습 포인트
이 짧은 코드 하나에 우리가 배운 파이썬 기초 문법의 정수가 모두 담겨 있습니다.
- 데이터 구조화: `students` 리스트는 여러 명의 데이터를 체계적으로 관리하는 방법을 보여줍니다.
- 자동화: `for` 반복문 덕분에 학생이 5명이든 500명이든 동일한 코드로 모든 학생을 처리할 수 있습니다.
- 논리적 판단: `if-elif-else` 조건문은 정해진 기준에 따라 학점을 자동으로 부여하는 '규칙' 역할을 합니다.
- 가독성 높은 출력: f-string은 변수와 텍스트를 섞어 결과를 명확하게 전달하는 최고의 방법입니다.
5-4. 응용 과제 제안
직접 코드를 수정하며 연습하는 것이 가장 빠른 학습법입니다. 아래 과제에 도전해 보세요.
- 과제 1: 점수가 70점 미만인 학생에게는 학점과 함께 "(재시험 필요)"라는 메시지를 추가로 출력해 보세요.
- 과제 2: 모든 학생의 처리가 끝난 후, 전체 학생의 평균 점수를 계산하여 마지막에 출력해 보세요. (힌트: 총점을 저장할 변수가 필요합니다.)
- 과제 3: 95점 이상인 학생에게는 "최우수 학생"이라는 특별 메시지를 출력하도록 코드를 수정해 보세요.

섹션 6: 초보자가 자주 하는 실수 & 해결 방법 TOP 5
파이썬 기초 문법을 배우는 과정에서 몇 가지 흔한 실수를 마주하는 것은 매우 자연스러운 일입니다. 중요한 것은 실수를 통해 배우고 같은 실수를 반복하지 않는 것입니다. 초보자들이 가장 자주 겪는 오류 5가지와 그 해결 방법을 표로 정리했습니다.
| 실수 유형 | 원인 및 설명 | 잘못된 코드 ❌ | 올바른 코드 ✅ | 해결 팁 |
|---|---|---|---|---|
| 1. 들여쓰기 오류 (IndentationError) | 파이썬은 들여쓰기로 코드의 종속 관계를 구분합니다. `if`, `for` 문 다음에 오는 코드는 반드시 안으로 들여 써야 하는데, 이를 지키지 않거나 칸 수가 맞지 않으면 발생합니다. | if True: |
if True: |
코드 편집기의 '탭 키를 스페이스 4칸으로 변환' 설정을 켜두면 실수를 줄일 수 있습니다. |
| 2. 변수명 오타 (NameError) | 선언한 적 없는 변수 이름을 사용하거나, 이미 만든 변수명의 철자를 틀리게 입력했을 때 발생합니다. 컴퓨터는 'name'과 'naem'을 완전히 다른 것으로 인식합니다. | name = "철수" |
name = "철수" |
변수명을 직접 입력하기보다 복사-붙여넣기를 하거나, 코드 편집기의 자동 완성 기능을 적극 활용하세요. |
| 3. 자료형 혼용 오류 (TypeError) | 서로 다른 자료형끼리 호환되지 않는 연산을 시도할 때 발생합니다. 가장 흔한 예는 문자열과 숫자를 `+`로 더하려고 할 때입니다. | age = 20 |
age = 20 |
숫자와 문자열을 함께 출력할 때는 `str()` 함수로 숫자를 문자열로 바꾸거나, 처음부터 f-string (`f"나이: {age}"`)을 사용하면 편리합니다. |
| 4. 무한루프 발생 (Infinite Loop) | `while` 반복문에서 반복을 멈추게 하는 조건이 영원히 거짓이 되지 않을 때 프로그램이 멈추지 않고 계속 실행되는 현상입니다. | count = 0 |
count = 0 |
`while` 문을 작성할 때는 루프 안에서 조건에 영향을 주는 변수 값이 반드시 변하도록 설계해야 합니다. |
| 5. 비교/할당 연산자 혼동 (SyntaxError) | 값을 비교해야 할 곳(`==`)에 값을 할당하는 연산자(`=`)를 잘못 사용했을 때 발생합니다. `if` 문의 조건식에서 자주 하는 실수입니다. | age = 20 |
age = 20 |
`=`는 '오른쪽 값을 왼쪽에 넣는다'는 의미, `==`는 '왼쪽과 오른쪽이 같은지 확인한다'는 의미로 명확히 구분하여 기억하세요. |

마무리: 파이썬 기초 문법, 이제 당신의 것입니다!
이 글을 통해 우리는 파이썬 프로그래밍의 가장 단단한 기초가 되는 네 가지 핵심 개념을 모두 살펴보았습니다. 복잡해 보였던 코드가 이제는 조금 더 친숙하게 느껴지실 겁니다.
| 개념 | 핵심 포인트 |
|---|---|
| 파이썬 변수 | `변수명 = 값` 형태로 데이터를 저장하는 이름표. `int`, `float`, `str`, `bool` 등 다양한 자료형이 있음. |
| 파이썬 출력 함수 사용법 | `print()` 함수로 결과를 확인. 변수와 문자열을 조합할 때는 f-string (`f"..."`)이 가장 강력하고 편리함. |
| 조건문 | `if-elif-else`를 사용하여 조건의 참/거짓에 따라 다른 코드를 실행. 들여쓰기가 매우 중요. |
| 반복문 | `for`(횟수 기반), `while`(조건 기반)을 사용해 반복 작업을 자동화. `break`와 `continue`로 흐름 제어 가능. |
파이썬 기초 문법이라는 첫 번째 산을 넘으셨으니, 이제 여러분은 함수, 리스트, 딕셔너리와 같은 더 흥미로운 개념들을 배울 준비가 되었습니다. 가장 중요한 것은 꾸준한 연습입니다. 오늘 배운 예제들을 구글 Colab에서 직접 입력하고, 값을 바꿔보며 결과가 어떻게 달라지는지 꼭 확인해 보세요.
프로그래밍 학습은 지식을 쌓는 것만큼이나 익숙해지는 과정이 중요합니다. 궁금한 점이나 실습하며 어려웠던 부분이 있다면 주저 말고 댓글로 질문해 주세요. 여러분의 파이썬 여정을 응원합니다.
자주 묻는 질문 (FAQ)
Q: 파이썬은 왜 초보자에게 좋은 언어인가요?
A: 문법이 영어처럼 간결하고 사람이 이해하기 쉬우며, 데이터 분석, 인공지능(AI), 웹 개발 등 매우 다양한 분야에서 폭넓게 활용되기 때문입니다. 풍부한 학습 자료와 거대한 커뮤니티 역시 큰 장점입니다.
Q: 파이썬 코드를 실행하려면 꼭 프로그램을 설치해야 하나요?
A: 아니요. 구글 Colab과 같은 웹 기반 환경을 이용하면 별도의 설치 과정 없이 웹 브라우저에서 바로 코드를 작성하고 실행할 수 있습니다. 이는 초보자가 복잡한 설정 없이 파이썬에만 집중할 수 있게 도와주는 최고의 방법입니다.
Q: 조건문이나 반복문에서 가장 흔하게 하는 실수는 무엇인가요?
A: 가장 흔한 실수는 들여쓰기(Indentation)를 정확하게 지키지 않아 발생하는 `IndentationError`입니다. 또한 `if`문의 조건식에서 비교를 위한 `==` 대신 할당을 의미하는 `=`를 사용하거나, `while`문에서 종료 조건을 잘못 설정해 무한 루프에 빠지는 경우도 많습니다.