2026. 7. 8. 21:43ㆍ파이썬
기본적으로 알아야 하는 개념만 순서대로 정리했습니다. 각 개념마다 짧은 설명 + 바로 실행해볼 수 있는 예제 코드가 있습니다. 직접 타이핑해보면서 넘어가세요 (복사-붙여넣기만 하면 손에 안 익습니다).
0일차: 설치 & Hello World
본격적으로 배우기 전에, 파이썬을 설치하고 코드를 실행할 수 있는 환경을 먼저 만들어야 합니다.
1) 파이썬 설치
Windows
- https://www.python.org/downloads/ 접속
- Download Python 3.x.x 버튼 클릭해서 설치 파일 받기
- 설치 시작 화면에서 "Add python.exe to PATH" 체크박스를 꼭 체크 (이걸 빠뜨리면 나중에 터미널에서 인식 안 됨)
- 설치 완료
Mac
- https://www.python.org/downloads/ 접속 후 macOS용 설치 파일 다운로드 (또는 터미널에서 Homebrew가 있다면 brew install python)
- 설치 파일 실행해서 설치 완료
2) 설치 확인
터미널(Mac: 터미널 앱 / Windows: cmd 또는 PowerShell)을 열고 입력:
python3 --version
Windows에서는 python --version으로도 확인해보세요. Python 3.x.x 라는 결과가 나오면 설치 성공입니다.
버전이 안 나오고 오류가 난다면: Windows는 설치 시 PATH 체크를 놓쳤을 가능성이 높습니다 (재설치하면서 체크). Mac은 python3로 시도해보세요 (python만 치면 안 될 수 있습니다).
3) 코드 에디터 설치 (권장: VS Code)
https://code.visualstudio.com 에서 다운로드 후 설치. 설치 후 VS Code에서 확장 프로그램(왼쪽 사각형 아이콘) 검색창에 "Python" 검색해서 Microsoft가 만든 확장 설치.
4) Hello World 실행해보기
- 바탕화면 등 원하는 곳에 hello.py 파일 생성 (VS Code에서 새 파일 만들고 이 이름으로 저장)
- 아래 코드 입력:
print("Hello, World!")
- 터미널에서 해당 파일이 있는 폴더로 이동한 뒤 실행:
cd 파일이있는폴더경로
python3 hello.py
(Windows는 python hello.py)
- 화면에 Hello, World!가 출력되면 성공입니다. 이제 진짜 시작할 준비가 끝났습니다.
VS Code를 쓴다면 파일을 열어놓은 상태에서 우측 상단의 ▶(실행) 버튼을 눌러도 같은 결과를 볼 수 있습니다. 터미널 명령어가 아직 익숙하지 않다면 이 방법이 더 편합니다.
1일차: 변수와 자료형
파이썬의 모든 것은 "값을 담는 상자(변수)"에서 시작합니다.
# 숫자
age = 25 # 정수 (int)
price = 19.99 # 실수 (float)
# 문자열
name = "홍길동" # str
# 참/거짓
is_student = True # bool
# 타입 확인
print(type(age)) # <class 'int'>
print(type(name)) # <class 'str'>
꼭 알아야 할 것: 파이썬은 변수 선언 시 타입을 미리 지정하지 않습니다 (int age = 25 같은 방식 아님). 대입하는 값에 따라 타입이 자동으로 결정됩니다.
2일차: 문자열 다루기
문자열은 실무에서 가장 많이 다루는 자료형입니다.
name = "Claude"
age = 5
# f-string: 문자열 안에 변수 값을 바로 넣는 방법 (가장 많이 씀)
print(f"{name}는 {age}살입니다.")
# 자주 쓰는 문자열 메서드
text = " Hello World "
print(text.strip()) # 앞뒤 공백 제거 -> "Hello World"
print(text.lower()) # 소문자로
print(text.upper()) # 대문자로
print("Hello" in text) # 포함 여부 확인 -> True
print(text.replace("Hello", "Bye")) # 치환
print(text.split(" ")) # 공백 기준으로 나눠서 리스트로
3일차: 리스트 (List)
여러 개의 값을 순서대로 담는 상자입니다. 가장 많이 쓰는 자료구조입니다.
fruits = ["사과", "바나나", "포도"]
print(fruits[0]) # 사과 (인덱스는 0부터 시작)
print(fruits[-1]) # 포도 (뒤에서 첫 번째)
fruits.append("딸기") # 맨 뒤에 추가
fruits.remove("바나나") # 값으로 제거
print(len(fruits)) # 개수 확인
# 슬라이싱: 일부만 잘라내기
numbers = [1, 2, 3, 4, 5]
print(numbers[1:3]) # [2, 3] (인덱스 1부터 2까지)
print(numbers[:2]) # [1, 2] (처음부터 인덱스 1까지)
4일차: 딕셔너리 (Dictionary)
"키(key)-값(value)" 쌍으로 데이터를 담습니다. 실무 코드에서 정말 자주 나옵니다.
person = {
"name": "홍길동",
"age": 30,
"city": "서울"
}
print(person["name"]) # 홍길동
person["job"] = "개발자" # 새 키 추가
print(person.get("phone", "없음")) # 없는 키 조회 시 기본값 지정 가능
# 모든 키, 값 순회
for key, value in person.items():
print(f"{key}: {value}")
왜 중요한가: JSON, API 응답, 설정 파일 등 대부분의 실제 데이터가 딕셔너리 구조로 다뤄집니다.
5일차: 조건문 (if / elif / else)
score = 85
if score >= 90:
print("A등급")
elif score >= 80:
print("B등급")
else:
print("C등급")
# 여러 조건 조합
age = 20
has_id = True
if age >= 19 and has_id:
print("입장 가능")
6일차: 반복문 (for / while)
# for문: 정해진 범위나 리스트를 반복
for i in range(5): # 0, 1, 2, 3, 4
print(i)
fruits = ["사과", "바나나", "포도"]
for fruit in fruits:
print(fruit)
# while문: 조건이 참인 동안 계속 반복
count = 0
while count < 3:
print(count)
count += 1
# 반복 중간에 멈추거나 건너뛰기
for i in range(10):
if i == 5:
break # 반복 완전히 멈춤
if i % 2 == 0:
continue # 이번 반복만 건너뛰고 다음으로
print(i)
7일차: 함수 (def)
반복해서 쓰는 코드를 이름 붙여서 재사용하는 것입니다.
def greet(name):
return f"안녕하세요, {name}님!"
message = greet("홍길동")
print(message)
# 기본값이 있는 매개변수
def greet2(name, greeting="안녕하세요"):
return f"{greeting}, {name}님!"
print(greet2("홍길동")) # 기본값 사용
print(greet2("홍길동", "반갑습니다")) # 직접 지정
꼭 알아야 할 것: return이 없으면 함수는 None을 돌려줍니다. print와 return을 헷갈리지 마세요 — print는 화면에 보여주기만 하고, return은 그 값을 실제로 돌려줘서 다른 곳에서 쓸 수 있게 합니다.
8일차: 리스트/딕셔너리 컴프리헨션
리스트나 딕셔너리를 짧은 한 줄로 만드는 문법입니다. 처음엔 어색하지만 실무 코드에 정말 많이 나옵니다.
# 기존 방식
squares = []
for i in range(5):
squares.append(i ** 2)
# 컴프리헨션으로 같은 걸 한 줄에
squares = [i ** 2 for i in range(5)]
print(squares) # [0, 1, 4, 9, 16]
# 조건을 붙일 수도 있음
even_squares = [i ** 2 for i in range(10) if i % 2 == 0]
print(even_squares) # [0, 4, 16, 36, 64]
9일차: 예외 처리 (try / except)
에러가 나도 프로그램이 멈추지 않게 처리하는 방법입니다.
try:
number = int(input("숫자를 입력하세요: "))
result = 10 / number
print(result)
except ValueError:
print("숫자가 아닙니다.")
except ZeroDivisionError:
print("0으로 나눌 수 없습니다.")
finally:
print("작업이 끝났습니다.") # 에러 여부와 무관하게 항상 실행
10일차: 파일 입출력
# 파일 쓰기
with open("memo.txt", "w", encoding="utf-8") as f:
f.write("오늘 배운 내용\n")
f.write("파이썬 기초\n")
# 파일 읽기
with open("memo.txt", "r", encoding="utf-8") as f:
content = f.read()
print(content)
꼭 알아야 할 것: with문을 쓰면 파일을 자동으로 닫아줍니다. 이 방식을 항상 습관처럼 쓰세요.
11일차: 모듈과 패키지 (import)
다른 사람이 만들어놓은 기능을 가져와 쓰는 방법입니다.
import math
print(math.sqrt(16)) # 4.0
from datetime import datetime
now = datetime.now()
print(now)
# 외부 패키지는 먼저 설치가 필요 (터미널에서)
# pip install requests
import requests
꼭 알아야 할 것: 파이썬 자체에 내장된 모듈(math, datetime, os 등)과, pip install로 따로 설치해야 하는 외부 패키지(requests, pandas 등)를 구분할 줄 알아야 합니다.
12일차: 클래스와 객체 (기본만)
깊게 들어가지 않아도 되지만, "이게 뭔지"는 알아야 나중에 남의 코드를 읽을 수 있습니다.
class Dog:
def __init__(self, name, age):
self.name = name
self.age = age
def bark(self):
print(f"{self.name}가 짖습니다: 멍멍!")
my_dog = Dog("바둑이", 3)
print(my_dog.name) # 바둑이
my_dog.bark() # 바둑이가 짖습니다: 멍멍!
정도만 알면 충분: 클래스 = 틀, 객체 = 그 틀로 찍어낸 실제 물건. self는 "나 자신"을 가리키는 것.
정리 순서 요약표
순서 개념 왜 필요한가
| 0 | 설치 & Hello World | 코드를 실행할 수 있는 환경 만들기 |
| 1 | 변수/자료형 | 데이터를 담는 가장 기본 단위 |
| 2 | 문자열 | 텍스트 데이터 처리의 기본 |
| 3 | 리스트 | 여러 값을 순서대로 관리 |
| 4 | 딕셔너리 | 키-값 구조, 실무 데이터의 표준 형태 |
| 5 | 조건문 | 상황에 따라 다르게 동작시키기 |
| 6 | 반복문 | 같은 작업 반복 처리 |
| 7 | 함수 | 코드 재사용, 구조화 |
| 8 | 컴프리헨션 | 짧고 파이썬스러운 코드 작성 |
| 9 | 예외처리 | 에러에도 안 멈추는 안정적인 코드 |
| 10 | 파일 입출력 | 데이터를 저장/불러오기 |
| 11 | import | 남이 만든 기능 재사용 |
| 12 | 클래스 | 남의 코드를 읽고 이해하기 위한 최소 기반 |
학습 팁
- 하루에 1개 개념씩만 다뤄도 2주면 기초는 끝납니다. 서두르지 마세요.
- 각 예제를 그대로 실행해보고, 숫자나 문자열을 바꿔가며 결과가 어떻게 달라지는지 직접 확인해보세요.
- 개념을 다 배운 뒤에는, 배운 것만 써서 아주 작은 프로그램(예: 숫자 맞추기 게임, 할 일 목록)을 하나 만들어보는 것을 추천합니다.
'파이썬' 카테고리의 다른 글
| 파이썬 슬라이싱 — "기차 칸" 비유로 이해하기(Claude) (0) | 2026.07.11 |
|---|---|
| Python 문자열 처리 문제(Chatgpt) (0) | 2026.07.11 |
| Python 참조하는 모듈 못찾는 오류 (0) | 2025.09.12 |
| python 없이 python 파일 실행하기 (0) | 2025.08.11 |
| Ubuntu에 python 설치 (0) | 2025.03.29 |