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 8Python 공식 코드 스타일 가이드

⚠️ 입문자 단골 실수 모음

초급편 전체에서 강조한 함정들을 한자리에 모았습니다.

실수올바른 방법
비교에 = 사용 (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. 예외 처리 입문 | 🏠 목차로 돌아가기

수고하셨습니다. 중급편에서 다시 만나요! 🐍