888 commands · 53 cheat sheets · 7 subcategories
Python master quick reference
Browse 187 commands from 12 focused cheat sheets on page 1 of 5. Each example opens its matching detailed section.
Language and Objects · 16 commands
Python Classes and Dataclasses Cheat Sheet
| Use | Syntax | Examples |
|---|---|---|
| Define a class | class Account: pass | View examples |
| Initialize instance state | def __init__(self, owner): self.owner = owner | View examples |
| Define instance behavior | def deposit(self, amount): self.balance += amount | View examples |
| Define shared state | class Account: currency = 'USD' | View examples |
| Add an alternate constructor | @classmethod | View examples |
| Attach a utility | @staticmethod | View examples |
| Expose computed state | @property | View examples |
| Create a subclass | class Admin(User): pass | View examples |
| Delegate through the MRO | super().__init__(name) | View examples |
| Test compatible type | isinstance(user, User) | View examples |
| Generate record methods | @dataclass | View examples |
| Create a fresh mutable default | tags: list[str] = field(default_factory=list) | View examples |
| Emulate immutability | @dataclass(frozen=True) | View examples |
| Generate slots | @dataclass(slots=True) | View examples |
| Convert fields recursively | payload = asdict(order) | View examples |
| Copy with changes | updated = replace(item, price=12) | View examples |
Language and Objects · 11 commands
Python Context Managers Cheat Sheet
| Use | Syntax | Examples |
|---|---|---|
| Manage one resource | with open(path, encoding='utf-8') as file: data = file.read() | View examples |
| Manage several resources | with open(source) as src, open(target, 'w') as dst: copy(src, dst) | View examples |
| Return an acquired resource | def __enter__(self): return self.resource | View examples |
| Handle exit | def __exit__(self, exc_type, exc, traceback):
self.close() | View examples |
| Create from a generator | @contextmanager | View examples |
| Close an object | with closing(resource) as value: use(value) | View examples |
| Suppress selected errors | with suppress(FileNotFoundError): path.unlink() | View examples |
| Redirect standard output | with redirect_stdout(buffer): print('captured') | View examples |
| Manage dynamic contexts | with ExitStack() as stack: files = [stack.enter_context(open(p)) for p in paths] | View examples |
| Register cleanup | stack.callback(cleanup, resource) | View examples |
| Use optional context | manager = open(path) if path else nullcontext(sys.stdout) | View examples |
Language and Objects · 17 commands
Python Decorators, Closures, and Callables Cheat Sheet
| Use | Syntax | Examples |
|---|---|---|
| Return a closure | return inner | View examples |
| Rebind enclosing state | nonlocal count | View examples |
| Inspect captured values | values = function.__closure__ | View examples |
| Apply a decorator | @decorator | View examples |
| Preserve wrapper metadata | @wraps(function) | View examples |
| Reach the wrapped callable | original = decorated.__wrapped__ | View examples |
| Configure a decorator | @repeat(times=3) | View examples |
| Stack decorators | result = outer(inner(function)) | View examples |
| Make instances callable | def __call__(self, value): return self.prefix + value | View examples |
| Check callability | supported = callable(value) | View examples |
| Bind selected arguments | configured = partial(function, fixed_arg, option=value) | View examples |
| Bind arguments on methods | method = partialmethod(function, fixed_arg) | View examples |
| Register a type implementation | @render.register(str) | View examples |
| Inspect dispatch resolution | implementation = render.dispatch(value_type) | View examples |
| Memoize bounded results | @lru_cache(maxsize=128) | View examples |
| Clear a function cache | function.cache_clear() | View examples |
| Inspect cache statistics | stats = function.cache_info() | View examples |
Language and Objects · 18 commands
Python Enums and Symbolic Constants Cheat Sheet
| Use | Syntax | Examples |
|---|---|---|
| Declare an enum | class Color(Enum): RED = 1 | View examples |
| Look up by value | member = Color(1) | View examples |
| Look up by name | member = Color['RED'] | View examples |
| Read member metadata | name, value = member.name, member.value | View examples |
| Iterate canonical members | members = list(Color) | View examples |
| Declare an alias | CRIMSON = RED | View examples |
| Inspect names including aliases | names = Color.__members__ | View examples |
| Reject duplicate values | @unique | View examples |
| Generate enum values | PENDING = auto() | View examples |
| Create string-compatible members | class Format(StrEnum): JSON = auto() | View examples |
| Create integer-compatible members | class ExitCode(IntEnum): OK = 0 | View examples |
| Declare bit flags | class Permission(Flag): READ = auto() | View examples |
| Combine flags | access = Permission.READ | Permission.WRITE | View examples |
| Test a contained flag | allowed = Permission.WRITE in access | View examples |
| Customize missing-value lookup | _missing_ = classmethod(normalize_missing_value) | View examples |
| Add member behavior | def can_retry(self): return self is State.FAILED | View examples |
| Build an enum dynamically | Level = Enum('Level', ['LOW', 'HIGH']) | View examples |
| Verify enum constraints | @verify(CONTINUOUS) | View examples |
Language and Objects · 15 commands
Python Exceptions Cheat Sheet
| Use | Syntax | Examples |
|---|---|---|
| Catch one exception | except ValueError: number = 0 | View examples |
| Inspect an exception | except ValueError as error: print(error) | View examples |
| Catch related failures | except (TypeError, ValueError) as error: print(error) | View examples |
| Use ordered handlers | except FileNotFoundError: use_default() | View examples |
| Run after success | else: print(value) | View examples |
| Always clean up | finally: resource.close() | View examples |
| Raise an exception | raise ValueError("quantity must be positive") | View examples |
| Re-raise the current error | except OSError: log_failure(); raise | View examples |
| Chain a domain error | raise ConfigError("invalid port") from error | View examples |
| Hide incidental context | raise ValueError("unknown user") from None | View examples |
| Define a custom exception | class ConfigError(Exception): pass | View examples |
| Store error context | error = ValidationError(field="email", message="invalid address") | View examples |
| Convert at a boundary | value = int(text) | View examples |
| Use managed cleanup | with open("settings.txt", encoding="utf-8") as file: data = file.read() | View examples |
| Assert an invariant | assert total >= 0, "total cannot be negative" | View examples |
Language and Objects · 19 commands
Python Functions Cheat Sheet
| Use | Syntax | Examples |
|---|---|---|
| Define a function | def greet(name): return f"Hello, {name}!" | View examples |
| Call a function | message = greet("Ada") | View examples |
| Set a default value | def greet(name, punctuation="!"):
return f"Hello, {name}{punctuation}" | View examples |
| Pass a keyword argument | message = greet(name="Ada", punctuation=".") | View examples |
| Require a positional input | def ratio(value, total, /): return value / total | View examples |
| Require a keyword input | def connect(host, *, timeout=10):
return f"{host}:{timeout}" | View examples |
| Create a fresh default list | def collect(value, items=None):
items = [] if items is None else items
items.append(value)
return items | View examples |
| Collect positional arguments | def total(*values): return sum(values) | View examples |
| Collect keyword arguments | def profile(**fields): return fields | View examples |
| Unpack positional values | result = total(*[4, 6, 10]) | View examples |
| Unpack keyword values | user = profile(**{"name": "Ada", "role": "engineer"}) | View examples |
| Annotate a function | def area(width: float, height: float) -> float:
return width * height | View examples |
| Add a docstring | def area(width, height):
"""Return a rectangle's area."""
return width * height | View examples |
| Return a value | def double(number): return number * 2 | View examples |
| Return several values | def bounds(values): return min(values), max(values) | View examples |
| Pass a callback | labels = list(map(str.upper, ["draft", "ready"])) | View examples |
| Create a small lambda | users.sort(key=lambda user: user["name"]) | View examples |
| Return a closure | def multiplier(factor):
return lambda value: value * factor | View examples |
| Wrap a function | greet = trace(greet) | View examples |
Language and Objects · 18 commands
Python Object Protocols and Special Methods Cheat Sheet
| Use | Syntax | Examples |
|---|---|---|
| Define developer representation | def __repr__(self): return f'Type({self.value!r})' | View examples |
| Define readable text | def __str__(self): return self.label | View examples |
| Define truth testing | def __bool__(self): return self.is_ready | View examples |
| Define equality | def __eq__(self, other):
return self.value == other.value if isinstance(other, Type) else NotImplemented | View examples |
| Define hashing | def __hash__(self):
return hash((self.first, self.second)) | View examples |
| Decline an operation | return NotImplemented | View examples |
| Define less-than ordering | def __lt__(self, other):
return self.value < other.value if isinstance(other, Type) else NotImplemented | View examples |
| Define addition | def __add__(self, other):
return type(self)(self.value + other.value) | View examples |
| Define reflected addition | def __radd__(self, other):
return type(self)(other + self.value) | View examples |
| Report container length | def __len__(self): return len(self._items) | View examples |
| Support indexed access | def __getitem__(self, key): return self._items[key] | View examples |
| Optimize membership | def __contains__(self, item): return item in self._items | View examples |
| Provide iteration | def __iter__(self): return iter(self._items) | View examples |
| Manage one attribute | value = property(getter, setter) | View examples |
| Handle missing attributes | def __getattr__(self, name): return self.fields[name] | View examples |
| Intercept all instance lookup | def __getattribute__(self, name):
return object.__getattribute__(self, name) | View examples |
| Define descriptor reading | def __get__(self, instance, owner=None):
return self if instance is None else instance.__dict__[self.name] | View examples |
| Learn the assigned name | def __set_name__(self, owner, name): self.name = name | View examples |
Language and Objects · 16 commands
Python Structural Pattern Matching Cheat Sheet
| Use | Syntax | Examples |
|---|---|---|
| Match a literal | case 200: | View examples |
| Capture the subject | case value: | View examples |
| Ignore the subject | case _: | View examples |
| Match a fixed sequence | case [command, target]: | View examples |
| Capture remaining items | case [head, *middle, tail]: | View examples |
| Match a command prefix | case ['deploy', environment, *flags]: | View examples |
| Require mapping keys | case {'event': 'login', 'user': user}: | View examples |
| Capture extra mapping entries | case {'event': kind, **metadata}: | View examples |
| Match class attributes positionally | case Point(0, y): | View examples |
| Match class attributes by name | case Point(x=x, y=0): | View examples |
| Match alternatives | case 401 | 403: | View examples |
| Capture across alternatives | case ('get', path) | ('delete', path): | View examples |
| Keep a matched value | case (401 | 403) as status: | View examples |
| Add a guard | case {'score': score} if score >= 80: | View examples |
| Match a symbolic constant | case Status.READY: | View examples |
| Match nested structures | case {'type': 'move', 'point': [x, y]}: | View examples |
Language and Objects · 14 commands
Python Type Hints, Generics, and Protocols Cheat Sheet
| Use | Syntax | Examples |
|---|---|---|
| Annotate a function | def total(values: list[float]) -> float: ... | View examples |
| No return value | def log(message: str) -> None: ... | View examples |
| Union type | identifier: int | str | View examples |
| Optional value | name: str | None = None | View examples |
| Narrow by runtime type | if isinstance(value, str): return value.casefold() | View examples |
| Read-only collection input | def first(values: Sequence[str]) -> str: ... | View examples |
| Read-only mapping input | def render(values: Mapping[str, object]) -> str: ... | View examples |
| Callable signature | transform: Callable[[str], str] | View examples |
| Declare a type alias | type UserId = int | View examples |
| Typed dictionary shape | class UserRow(TypedDict): ... | View examples |
| Generic type parameter | def first[T](values: Sequence[T]) -> T: ... | View examples |
| Structural protocol | class SupportsClose(Protocol): ... | View examples |
| Runtime protocol check | @runtime_checkable | View examples |
| User-defined narrowing | def is_str_list(value: list[object]) -> TypeGuard[list[str]]:
... | View examples |
Collections and Iteration · 17 commands
Python Collections, Heaps, and Bisect Cheat Sheet
| Use | Syntax | Examples |
|---|---|---|
| Count hashable values | counts = Counter(values) | View examples |
| Get common values | top = counts.most_common(3) | View examples |
| Sum counts | size = counts.total() | View examples |
| Group values | groups = defaultdict(list) | View examples |
| Initialize numeric counts | counts = defaultdict(int) | View examples |
| Add to the left | queue.appendleft(item) | View examples |
| Remove from the left | item = queue.popleft() | View examples |
| Keep a bounded history | history = deque(maxlen=100) | View examples |
| Layer mappings | config = ChainMap(cli, environment, defaults) | View examples |
| Add a child scope | child = config.new_child(overrides) | View examples |
| Declare a tuple record | Point = namedtuple('Point', ['x', 'y']) | View examples |
| Copy with field changes | moved = point._replace(x=10) | View examples |
| Push onto a min-heap | heappush(heap, (priority, item)) | View examples |
| Pop the smallest entry | priority, item = heappop(heap) | View examples |
| Select a few smallest values | lowest = nsmallest(3, values) | View examples |
| Find a right insertion point | index = bisect_right(values, target) | View examples |
| Insert while sorted | insort(values, item) | View examples |
Collections and Iteration · 12 commands
Python Comprehensions and Looping Patterns Cheat Sheet
| Use | Syntax | Examples |
|---|---|---|
| Transform into a list | squares = [n * n for n in numbers] | View examples |
| Filter and transform | names = [user.name for user in users if user.active] | View examples |
| Build a dictionary | by_id = {user.id: user for user in users} | View examples |
| Build unique results | domains = {email.rsplit('@', 1)[-1] for email in emails} | View examples |
| Stream transformed values | total = sum(n * n for n in numbers) | View examples |
| Pair with counters | for line_number, line in enumerate(lines, start=1): handle(line_number, line) | View examples |
| Pair equal-length inputs | for name, score in zip(names, scores, strict=True): report(name, score) | View examples |
| Sort by a key | ordered = sorted(users, key=lambda user: user.name.casefold()) | View examples |
| Flatten one level | flat = [item for group in groups for item in group] | View examples |
| Group adjacent keys | for key, group in groupby(sorted(rows, key=key_fn), key=key_fn): consume(key, group) | View examples |
| Chain iterables lazily | for item in chain(first, second): consume(item) | View examples |
| Detect no break | for ... else ... | View examples |
Collections and Iteration · 14 commands
Python Dictionaries Cheat Sheet
| Use | Syntax | Examples |
|---|---|---|
| Create a dictionary | user = {"name": "Ada", "role": "engineer"} | View examples |
| Create from keywords | user = dict(name="Ada", role="engineer") | View examples |
| Read a required key | name = user["name"] | View examples |
| Read an optional key | timezone = user.get("timezone", "UTC") | View examples |
| Check for a key | if "role" in user: print(user["role"]) | View examples |
| Set one value | user["active"] = True | View examples |
| Update several values | user.update({"role": "lead", "active": True}) | View examples |
| Create a merged dictionary | combined = defaults | overrides | View examples |
| Remove and return a value | role = user.pop("role", None) | View examples |
| Delete a required key | del user["active"] | View examples |
| Iterate over pairs | for key, value in user.items(): print(key, value) | View examples |
| Iterate over keys | for key in user: print(key) | View examples |
| Build with a comprehension | squares = {number: number ** 2 for number in range(4)} | View examples |
| Initialize a missing key | tags = groups.setdefault("python", []) | View examples |



