99. 부록 — 치트시트와 다음 단계
초급편을 완주하신 것을 축하합니다! 🎉 이 부록은 빠르게 찾아볼 수 있는 치트시트, 용어집, 그리고 중급편 예고로 구성됩니다. 헷갈릴 때마다 돌아와 참고하세요.
📋 문법 빠른 참조 (치트시트)
출력과 입력
PYTHON
print("Hello") # 출력 print(a, b, sep=", ", end="!") # 구분자·끝 지정 name = input("이름: ") # 입력 (항상 문자열!) age = int(input("나이: ")) # 입력 후 정수 변환
변수와 자료형
PYTHON
x = 10 # int y = 3.14 # float s = "hello" # str flag = True # bool type(x) # 자료형 확인 int("42") float("3.14") str(100) # 형 변환
숫자 연산
PYTHON
+ - * # 사칙 / # 나눗셈 (항상 float) // # 몫 % # 나머지 ** # 거듭제곱 round(3.7) # 반올림 → 4
문자열
PYTHON
s[0] s[-1] s[0:3] # 인덱싱·슬라이싱 len(s) # 길이 s.upper() s.lower() s.strip() # 변환·공백제거 s.split(",") ",".join(리스트) # 쪼개기·합치기 s.replace("a", "b") # 교체 "x" in s # 포함 여부 f"{name}님 {age}살" # f-string f"{3.14159:.2f}" # 서식 (3.14)
비교·논리
PYTHON
== != < > <= >= # 비교 and or not # 논리 18 <= age < 65 # 연쇄 비교
자료구조
PYTHON
# 리스트 (가변, 순서 O) lst = [1, 2, 3] lst.append(4) lst.remove(2) lst[0] = 9 lst.sort() # 튜플 (불변, 순서 O) tup = (1, 2) x, y = tup # 언패킹 # 세트 (중복 X, 순서 X) st = {1, 2, 3} a & b a | b a - b # 교·합·차집합 list(set(중복리스트)) # 중복 제거 # 딕셔너리 (키:값) d = {"name": "민지", "age": 25} d["name"] d.get("x", "기본값") d["new"] = 1 # 추가/수정 d.keys() d.values() d.items()
조건문
PYTHON
if 조건: ... elif 다른조건: ... else: ... 값 = A if 조건 else B # 삼항 if not lst: # 비었으면
반복문
PYTHON
for x in 리스트: # 항목 순회 ... for i in range(5): # 0~4 for i in range(1, 6, 2): # 1,3,5 for i, x in enumerate(리스트): # 번호+값 for k, v in d.items(): # 딕셔너리 while 조건: # 조건 반복 ... break # 완전 종료 continue # 다음 회차로
함수
PYTHON
def 이름(a, b=기본값): return a + b func(1, 2) # 위치 인자 func(b=2, a=1) # 키워드 인자 def f(*args): ... # 가변 위치 인자 (튜플) def f(**kwargs): ... # 가변 키워드 인자 (딕셔너리) square = lambda n: n**2 # 람다
예외 처리
PYTHON
try: 위험한_코드() except ValueError as e: print(e) except (TypeError, KeyError): # 여러 종류 한 번에 ... else: # 에러 없을 때 ... finally: # 항상 ...
🔧 자주 쓰는 내장 함수
| 함수 | 하는 일 | 예 |
|---|---|---|
print() | 출력 | print("hi") |
input() | 입력 (문자열) | input("? ") |
len() | 길이/개수 | len([1,2,3]) → 3 |
type() | 자료형 확인 | type(5) |
int() float() str() bool() | 형 변환 | int("9") |
range() | 숫자 범위 | range(5) |
sum() | 합계 | sum([1,2,3]) → 6 |
min() max() | 최소/최대 | max([3,1,2]) → 3 |
sorted() | 정렬한 새 리스트 | sorted([3,1,2]) |
enumerate() | 번호+값 | enumerate(lst) |
abs() | 절댓값 | abs(-5) → 5 |
round() | 반올림 | round(3.7) → 4 |
📖 용어집
이 용어집은 이 책에서 배우는 학습 개념(변수·슬라이싱·언패킹·스코프 등)을 정리합니다. JSON·IDE·venv처럼 프로그래밍 전반에서 두루 쓰이는 범용 기술 용어는 98. 기초 용어 사전에서 따로 다룹니다.
| 용어 | 뜻 |
|---|---|
| 인터프리터 | Python 코드를 한 줄씩 읽어 실행하는 프로그램 |
| REPL | 한 줄 입력 → 즉시 결과를 보여주는 대화형 셸 |
| 변수 | 값에 붙인 이름표 |
| 할당 | =로 값을 변수에 넣는 것 |
| 자료형(type) | 값의 종류 (int, str, list 등) |
| 문자열(string) | 따옴표로 감싼 글자 묶음 |
| 불리언(boolean) | True/False 두 값을 갖는 자료형 |
| 인덱스 | 항목의 위치 번호 (0부터) |
| 슬라이싱 | [시작:끝]으로 일부를 꺼내기 (끝 미포함) |
| 가변/불변(mutable/immutable) | 만든 뒤 내용을 바꿀 수 있나/없나 |
| 언패킹 | 묶인 값을 여러 변수에 풀어 담기 (x, y = t) |
| Truthy/Falsy | 불리언이 아닌 값이 참/거짓처럼 취급되는 성질 |
| 블록 | 들여쓰기로 묶인 코드 덩어리 |
| 반복문(loop) | 같은 코드를 되풀이 (for/while) |
| 함수(function) | 이름 붙인 재사용 코드 묶음 |
| 인자/매개변수 | 함수에 전달하는 값 / 받는 변수 |
| 반환(return) | 함수가 결과를 돌려주는 것 |
| 스코프(scope) | 변수가 유효한 범위 (지역/전역) |
| 람다(lambda) | 이름 없는 한 줄 함수 |
| 예외(exception) | 실행 중 발생하는 에러 |
| 트레이스백 | 에러의 위치·종류를 알려주는 메시지 |
| Pythonic | "파이썬다운" 관용적이고 간결한 코드 스타일 |
| PEP 8 | Python 공식 코드 스타일 가이드 |
⚠️ 입문자 단골 실수 모음
초급편 전체에서 강조한 함정들을 한자리에 모았습니다.
| 실수 | 올바른 방법 |
|---|---|
비교에 = 사용 (if x = 5) | 비교는 ==, 할당은 = |
input() 결과로 바로 계산 | int()/float()로 변환 후 사용 |
int(3.9)가 4일 거라 기대 | 버림이라 3. 반올림은 round() |
슬라이싱·range의 끝이 포함될 거라 기대 | 끝은 미포함 |
| 들여쓰기 빠뜨림/탭·공백 혼용 | 일관된 공백 4칸 |
if/elif 순서를 막 배치 | 구체적(엄격한) 조건을 위에 |
while에서 조건 갱신 빠뜨림 | 무한 루프! 갱신 코드 확인 |
함수에서 return 빠뜨림 | 결과가 None. 돌려주려면 return |
except:로 모든 에러 삼킴 | 구체적 예외만 잡기 |
0.1 + 0.2 == 0.3 기대 | 부동소수점 한계. == 비교 피하기 |
🚀 다음 단계: 중급편 예고
초급편에서 우리는 혼자서 작은 콘솔 프로그램을 만들 수 있는 수준에 도달했습니다. 변수·자료형·자료구조·제어 흐름·함수·예외 처리까지, 프로그래밍의 뼈대를 모두 갖췄습니다.
중급편에서는 다음을 다룰 예정입니다.
| 주제 | 내용 |
|---|---|
| 객체 지향(OOP) | 클래스와 객체, 생성자, 상속, 매직 메서드, @property |
| 컴프리헨션 심화 | 리스트/딕셔너리/세트 컴프리헨션으로 한 줄에 |
| 파일 입출력 | 파일 읽고 쓰기, with 구문, CSV·JSON 다루기 |
| 모듈과 패키지 | 코드를 파일로 나누고 import로 불러오기 |
| 이터레이터·제너레이터 | yield로 값을 하나씩 만들어내기 |
| 데코레이터 | 함수를 감싸 기능을 더하는 @ 문법 |
| 타입 힌트 | def f(x: int) -> str: 로 자료형 명시 |
| 가상환경·패키지 관리 | venv, pip로 프로젝트 환경 격리 |
| 코드 스타일·테스트 | PEP 8, 포매터, 단위 테스트 입문 |
지금 해보면 좋은 연습
배운 것을 묶어 작은 프로그램을 만들어 보세요. 이것이 실력을 굳히는 가장 좋은 방법입니다.
- 숫자 맞히기 게임: 랜덤 숫자를
while로 맞힐 때까지 (조건문·반복문·예외) - 할 일 목록(To-Do): 리스트에 추가·삭제·출력하는 콘솔 메뉴 (리스트·함수·반복)
- 간단한 계산기: 두 수와 연산자를 입력받아 계산 (함수·예외·딕셔너리)
- 단어 빈도 세기: 문장을 받아 각 단어가 몇 번 나오는지 (딕셔너리·반복·문자열)
💡 팁
가장 중요한 조언: 책을 읽는 것만으로는 늘지 않습니다. 직접 만들고, 막히고, 검색하고, 고치는 과정에서 실력이 자랍니다. 작은 것부터 만들어 보세요.📚 더 공부할 자료
- 공식 문서: docs.python.org/ko — 한국어 공식 튜토리얼이 잘 되어 있습니다.
- 공식 튜토리얼: 표준 라이브러리의 방대한 기능을 둘러보기 좋습니다.
- PEP 8: 코드 스타일 가이드. 중급으로 가기 전 한 번 훑어보세요.
◀️ 이전 장: 10. 예외 처리 입문 | 🏠 목차로 돌아가기
수고하셨습니다. 중급편에서 다시 만나요! 🐍