변수와 기본 타입
name = "Mina"
age = 26
ratio = 3.14
is_ready = True변수 선언 방식과 int, float, str, bool 같은 Python 기본 타입을 가장 빠르게 익히는 시작 카드입니다.
Quick Reference
입문 문법부터 자료구조, 함수 설계, 객체지향, 타입 힌트, 패턴 매칭까지 Python 핵심 개념을 카드형 레퍼런스로 빠르게 탐색합니다.
제목, 요약, 태그, 섹션 제목 기준으로 찾습니다.
섹션
2 cards
name = "Mina"
age = 26
ratio = 3.14
is_ready = True변수 선언 방식과 int, float, str, bool 같은 Python 기본 타입을 가장 빠르게 익히는 시작 카드입니다.
point = (10, 20)
x, y = point
values = [1, 2, 3, 4]
first, *middle, last = values튜플, 리스트, 함수 인자에서 값을 자연스럽게 풀어 쓰는 Python 언패킹과 `*` 활용 패턴을 정리합니다.
12 cards
squares = [value * value for value in numbers]
short_names = [name for name in names if len(name) <= 8]
pairs = [(x, y) for x in range(3) for y in range(2)]반복문, 조건식, 결과 표현식을 한 줄에 압축해 쓰는 Python 리스트 컴프리헨션의 기본 패턴입니다.
scores = {"lee": 19, "mina": 24}
scores["lee"] = 22
best_score = scores.get("mina", 0)
counts = {}
for word in words:
counts[word] = counts.get(word, 0) + 1키와 값을 연결하는 Python 딕셔너리의 기본 사용법과 자주 쓰는 접근 패턴을 빠르게 정리합니다.
title = "RefDock"
length = len(title)
has_ref = "Ref" in title
upper = title.upper()길이 확인, 포함 여부 검사, 분리와 결합처럼 문자열을 다룰 때 가장 자주 쓰는 Python 기본 패턴입니다.
items = ["apple", "banana"]
items.append("orange")
first = items[0]
last_two = items[-2:]Python 리스트 생성, 추가, 삭제, 슬라이싱처럼 가장 자주 쓰는 리스트 조작 패턴을 빠르게 정리합니다.
point = (10, 20)
visited = {"seoul", "busan"}
visited.add("incheon")
has_seoul = "seoul" in visited변경 불가능한 tuple과 중복 없는 set의 쓰임새를 함께 정리하는 Python 컬렉션 카드입니다.
fruits = ["apple", "banana"]
fruits.append("berry")
fruits.extend(["kiwi", "orange"])
fruits.remove("banana")
fruits.sort()
print(fruits)`append`, `extend`, `pop`, `sort`, `reverse`처럼 자주 쓰는 리스트 메서드를 카드 한 장으로 빠르게 확인합니다.
word = "python"
numbers = [10, 20, 30, 40, 50]
word[0] # "p"
word[-1] # "n"
word[1:4] # "yth"
numbers[::2] # [10, 30, 50]문자열과 리스트에서 위치를 기준으로 값을 읽고 잘라내는 Python 인덱싱과 슬라이싱의 핵심 규칙을 정리합니다.
name = "Mina"
score = 95
message = f"{name} scored {score} points"변수와 표현식을 문자열 안에 자연스럽게 넣는 Python f-string 중심의 현대 문자열 포매팅 패턴입니다.
numbers = [1, 2, 3]
alias = numbers
copied = numbers.copy()
numbers.append(4)리스트와 딕셔너리 같은 가변 객체가 참조로 공유될 때 생기는 변화와 얕은 복사의 기본 규칙을 정리합니다.
items = ["pear", "apple", "banana"]
print(sorted(items))
print(sorted(items, key=len))`sorted()`와 `list.sort()` 그리고 `key` 함수를 이용해 원하는 기준으로 정렬하는 Python 기본 패턴입니다.
names = ["mina", "jin", "ara"]
name_lengths = {name: len(name) for name in names}
first_letters = {name[0] for name in names}리스트 컴프리헨션을 넘어 딕셔너리와 집합을 한 줄로 구성하는 Python comprehension 확장 패턴입니다.
from collections import Counter
letters = ["a", "b", "a", "c", "a", "b"]
counts = Counter(letters)원소 빈도를 세고 가장 자주 나온 값을 뽑아낼 때 유용한 Python `collections.Counter` 기본 패턴입니다.
4 cards
if score >= 90:
grade = "A"
elif score >= 80:
grade = "B"
else:
grade = "C"분기 처리를 위한 Python 조건문 구조와 비교 연산, 논리 연산을 가장 기본적인 형태로 정리합니다.
for value in items:
print(value)
for index in range(3):
print(index)`for`, `while`, `range`, `break`, `continue`처럼 Python 반복 처리의 핵심 패턴을 정리합니다.
names = ["Mina", "Lee", "Kim"]
ages = [26, 31, 19]
for name, age in zip(names, ages):
print(name, ":", age)
for index, name in enumerate(names, start=1):
print(index, name)여러 iterable을 병렬로 순회하거나 인덱스를 붙여야 할 때 `zip`과 `enumerate`의 기본 패턴을 정리합니다.
command = ("move", 10, 20)
match command:
case ("move", x, y):
print(x, y)
case ("quit",):
print("bye")값의 형태와 구조에 따라 분기하는 Python `match-case`의 기본 패턴을 정리합니다.
6 cards
def greet(name):
return f"Hello, {name}"
message = greet("Mina")함수 선언, 매개변수, 반환값, 기본값 인자처럼 Python 함수 문법의 핵심 패턴을 정리합니다.
def greet(name, *, title="Student", **extra):
return f"{title} {name}"
def add_all(*numbers):
return sum(numbers)위치 인수, 키워드 인수, 가변 인수, 키워드 전용 인수까지 Python 함수 인자 모델을 한 번에 정리합니다.
# math_utils.py
def square(x):
return x * x
# main.py
import math_utils
print(math_utils.square(5))코드를 파일 단위로 나누고 `import`로 가져와 재사용하는 Python 모듈 구조의 기본 원리를 정리합니다.
def append_item(item, items=None):
if items is None:
items = []
items.append(item)
return items변경 가능한 기본값의 함정을 피하고, `None`으로 안전하게 초기화하는 Python 함수 설계의 핵심 패턴입니다.
square = lambda x: x * x
print(square(5))짧은 함수 표현이 필요할 때 쓰는 Python `lambda`의 기본 역할과 적절한 사용 범위를 정리합니다.
def main():
print("run script")
if __name__ == "__main__":
main()파일을 모듈로 import 할 때와 직접 실행할 때를 구분하는 Python `__name__ == "__main__"` 패턴입니다.
5 cards
class User:
def __init__(self, name):
self.name = name
def greet(self):
return f"Hello, {self.name}"
user = User("Mina")클래스 선언, `__init__`, 인스턴스 속성, 메서드처럼 Python 객체지향의 가장 기본적인 구조를 정리합니다.
from dataclasses import dataclass
@dataclass
class Point:
x: int
y: int반복적인 초기화 코드 없이 데이터를 담는 클래스를 간결하게 정의하는 Python dataclass 기본 패턴입니다.
class Animal:
def speak(self):
return "..."
class Dog(Animal):
def speak(self):
return "woof"공통 동작을 부모 클래스에서 재사용하고, 필요한 부분만 자식 클래스에서 확장하는 Python 상속의 기본 구조입니다.
class User:
count = 0
@classmethod
def total(cls):
return cls.count
@staticmethod
def is_valid_name(name):
return len(name) >= 2인스턴스가 아닌 클래스 수준에서 동작하는 메서드를 정의할 때 쓰는 `classmethod`와 `staticmethod` 차이를 정리합니다.
class User:
def __init__(self, name):
self._name = name
@property
def name(self):
return self._name메서드처럼 검증이나 계산을 하면서도 속성처럼 읽히게 만드는 Python `property` 기본 패턴입니다.
4 cards
try:
value = int(text)
except ValueError:
value = 0
finally:
print("done")오류가 날 수 있는 코드를 안전하게 감싸는 `try / except / finally`와 `raise` 기본 문법입니다.
from pathlib import Path
path = Path("data") / "memo.txt"
path.write_text("hello", encoding="utf-8")
content = path.read_text(encoding="utf-8")파일 경로와 읽기/쓰기를 더 읽기 좋게 다룰 수 있는 `pathlib.Path`의 기본 패턴입니다.
from pathlib import Path
with Path("data.txt").open("r", encoding="utf-8") as handle:
content = handle.read()`with open(...) as f`처럼 context manager를 쓰는 기본 구조와 `contextlib` 유틸을 함께 정리합니다.
import json
data = {"name": "Mina", "score": 95}
with open("student.json", "w", encoding="utf-8") as f:
json.dump(data, f, ensure_ascii=False, indent=2)구조화된 데이터를 파일로 저장하고 읽어 올 때 자주 쓰는 Python `json`과 `csv` 기본 패턴입니다.
8 cards
import asyncio
async def fetch_data():
await asyncio.sleep(0.5)
return "data"
async def main():
resulta, resultb = await asyncio.gather(fetch_data(), fetch_data())
print(resulta, resultb)
asyncio.run(main())`async def`과 `await`을 이용한 비동기 함수 작성과 `asyncio.gather` 활용을 정리합니다.
numbers = [10, 20, 30]
it = iter(numbers)
print(next(it)) # 10
print(next(it)) # 20`for`문 뒤에서 실제로 무엇이 반복되는지 이해하기 위한 Python iterable과 iterator의 기본 개념입니다.
def countdown(n):
while n > 0:
yield n
n -= 1값을 한꺼번에 만들지 않고 필요할 때마다 하나씩 생성하는 Python generator와 `yield`의 기본 패턴입니다.
def greet(name: str) -> str:
return f"Hello, {name}"
scores: list[int] = [90, 80, 100]함수와 변수에 타입 의도를 적어 코드 가독성과 도구 지원을 높이는 Python 타입 힌트의 기본 문법입니다.
from collections import deque
import heapq
queue = deque([1, 2, 3])
queue.append(4)
queue.popleft()
heap = [5, 1, 9]
heapq.heapify(heap)
smallest = heapq.heappop(heap)큐와 우선순위 구조를 다룰 때 자주 쓰는 Python `deque`와 `heapq`의 기본 역할을 정리합니다.
scores = [90, 80, 100]
has_low_score = any(score < 60 for score in scores)
all_passed = all(score >= 60 for score in scores)조건을 만족하는 값이 하나라도 있는지, 모두 만족하는지, 그리고 중간 리스트 없이 검사하는 generator expression 패턴을 정리합니다.
def log_call(func):
def wrapper():
print("called")
return func()
return wrapper
@log_call
def hello():
print("hello")함수를 감싸서 동작을 확장하는 Python decorator의 기본 구조와 읽는 법을 정리합니다.
from itertools import chain, combinations
merged = list(chain([1, 2], [3, 4]))
pairs = list(combinations(["a", "b", "c"], 2))반복 데이터를 조합하고 연결하고 누적하는 작업을 더 효율적으로 표현하는 Python `itertools` 기본 카드입니다.