Python Reference
Python 프로그래밍 레퍼런스
Python Reference 소개
Python 레퍼런스는 Python 프로그래밍 언어 전반을 체계적으로 검색할 수 있는 치트 시트입니다. 기본문법, 자료형, 제어문, 함수, 클래스, 모듈, 파일IO, 예외처리 등 8개 카테고리로 구성되어 있으며, 각 항목에는 간결한 설명과 바로 실행 가능한 코드 예제가 포함되어 있습니다. 필요한 문법이나 내장 패턴을 찾을 때 문서 페이지를 뒤지지 않아도 되도록 설계되었습니다.
Python은 웹 개발, 데이터 사이언스, 자동화, 머신러닝, 시스템 스크립팅 등 다양한 분야에서 사용됩니다. 이 레퍼런스는 `print()`와 `if/else`를 배우는 입문자부터 `async/await`, `dataclass`, 데코레이터, 제너레이터, 타입 힌트를 활용하는 고급 개발자까지 모든 수준을 아우릅니다. 카테고리별 탐색과 검색 기능을 통해 원하는 항목을 즉시 찾을 수 있습니다.
모듈 섹션에서는 자주 사용하는 표준 라이브러리인 `os`, `pathlib`, `json`, `collections`, `itertools`, `re`를 실용적인 예제와 함께 다룹니다. 함수 섹션에는 컴프리헨션, 람다, map/filter/reduce, 제너레이터, 데코레이터 패턴이 포함됩니다. Python 3.6+ f-string부터 3.10+ match/case까지 최신 문법도 빠짐없이 수록되어 있습니다.
주요 기능
- 기본문법·자료형·제어문·함수·클래스·모듈·파일IO·예외처리 8개 카테고리 수록
- Python 3.6+ f-string, 3.7+ dataclass, 3.8+ 바다코끼리 연산자, 3.10+ match/case 포함
- 모든 항목에 설명과 실행 가능한 코드 예제 제공
- 카테고리 필터 및 검색으로 내장함수·키워드·문법을 즉시 조회
- async/await, 제너레이터, 데코레이터, 타입 힌트, 고급 OOP 패턴 포함
- os·pathlib·json·collections·itertools·re 표준 라이브러리 예제 수록
- 다크 모드 지원 및 데스크톱·태블릿·모바일 반응형 레이아웃
- 100% 클라이언트 사이드 처리 — 회원가입 불필요, 데이터 서버 전송 없음
자주 묻는 질문
이 Python 레퍼런스는 어떤 카테고리를 다루나요?
기본문법(print, input, f-string, type, isinstance, import), 자료형(int, float, str, list, tuple, dict, set, bool, None), 제어문(if/elif/else, for, while, break/continue, match/case), 함수(def, *args/**kwargs, lambda, 컴프리헨션, 데코레이터, 제너레이터, 타입 힌트), 클래스(class, 상속, @property, dataclass, 매직 메서드), 모듈(os, pathlib, json, collections, itertools, re), 파일IO(open/with, readlines, csv, 컨텍스트 매니저), 예외처리(try/except, raise, 사용자 정의 예외, async/await) 총 8개 카테고리를 다룹니다.
최신 Python 3 문법도 포함되어 있나요?
네. Python 3.6+ f-string, 3.7+ dataclass, 3.8+ 바다코끼리 연산자(:=), 3.10+ match/case 패턴 매칭, 3.5+ 타입 힌트가 모두 포함되어 있습니다. 모든 예제는 Python 3 기준으로 작성되었습니다.
f-string은 어떻게 사용하나요?
f-string은 따옴표 앞에 f를 붙여 사용합니다. 중괄호 안의 표현식은 실행 시점에 평가됩니다: `f"안녕, {name}!"`. 형식 지정자도 사용할 수 있습니다: `f"{3.14159:.2f}"`는 "3.14"를 출력하고, `f"{42:08b}"`는 "00101010"을 출력합니다. Python 3.6 이상에서 사용 가능합니다.
리스트와 튜플의 차이는 무엇인가요?
두 자료형 모두 순서가 있는 시퀀스이지만, 리스트는 가변(mutable)이고 튜플은 불변(immutable)입니다. 리스트는 append, insert, remove, sort 등이 가능하지만, 튜플은 생성 후 요소를 변경할 수 없습니다. 튜플은 언패킹이 지원되며(`x, y = (3, 4)`), 불변이므로 딕셔너리 키로 사용할 수 있습니다.
데코레이터는 어떻게 동작하나요?
데코레이터는 함수를 인자로 받아 추가 동작으로 감싸고 래퍼 함수를 반환하는 함수입니다. 함수 정의 위에 `@decorator` 구문으로 적용합니다. 예를 들어 `@timer` 데코레이터는 원본 함수 실행 전후의 시간을 기록해 실행 시간을 측정합니다. 로깅, 인증 확인, 캐싱, 재시도 로직 등에 널리 사용됩니다.
바다코끼리 연산자(:=)란 무엇인가요?
바다코끼리 연산자(:=)는 Python 3.8에서 도입된 대입 표현식으로, 같은 표현식 안에서 변수에 값을 대입하고 그 값을 반환합니다. `if`, `while`, 컴프리헨션 조건문에서 같은 표현식을 두 번 평가하지 않아도 되어 유용합니다. 예: `if (n := len(items)) > 10: print(n)`은 길이를 한 번만 계산해 조건 확인과 출력에 모두 사용합니다.
제너레이터와 리스트 컴프리헨션의 차이는 무엇인가요?
리스트 컴프리헨션(`[x**2 for x in range(10)]`)은 모든 요소를 즉시 평가해 메모리에 리스트로 저장합니다. 제너레이터 표현식(`(x**2 for x in range(10))`)은 값을 지연 생성하여 한 번에 하나씩 반환하므로 메모리 효율이 훨씬 좋습니다. 제너레이터 함수는 `yield`를 사용해 실행을 일시 중단하고 `next()` 호출마다 값을 하나씩 반환합니다.
Python의 예외 처리는 어떻게 하나요?
Python은 `try/except` 블록으로 예외를 처리합니다. `ZeroDivisionError`, `FileNotFoundError` 같은 특정 예외 타입을 지정하거나 `except Exception as e`로 모든 예외를 잡을 수 있습니다. 선택적 `else` 블록은 예외가 발생하지 않았을 때 실행되고, `finally`는 예외 발생 여부와 관계없이 항상 실행됩니다. `raise ValueError("메시지")`로 직접 예외를 발생시키거나 `Exception`을 상속해 사용자 정의 예외 클래스를 만들 수 있습니다.