Python

Modern Python Advanced #1: Magic methods in depth and protocols
4 min read

Modern Python Advanced #1: Magic methods in depth and protocols

Every hook where Python objects integrate with language features — __call__, __getitem__, __hash__, __format__, __getattr__ — gathered in one place.

Modern Python Intermediate #7: Async intro (asyncio)
3 min read

Modern Python Intermediate #7: Async intro (asyncio)

Meaning of async/await, the event loop, asyncio.gather and TaskGroup, and mixing with sync code — a first step into asyncio in one place.

Modern Python Intermediate #6: Pattern matching in depth
4 min read

Modern Python Intermediate #6: Pattern matching in depth

The next step from basics match-case — class patterns and __match_args__, sequence/mapping patterns, captures and guards, plus anti-patterns.

Modern Python Intermediate #5: Decorator patterns
4 min read

Modern Python Intermediate #5: Decorator patterns

Every form of decorators that wrap functions — basic form, parameterized decorators, functools.wraps, class decorators, and ParamSpec.

Modern Python Intermediate #4: Iterables/generators/yield from
4 min read

Modern Python Intermediate #4: Iterables/generators/yield from

How for works — the iterable protocol, generator functions and expressions, delegation with yield from, and send/throw — all in one place.

Modern Python Intermediate #3: Context managers (with, contextlib)
6 min read

Modern Python Intermediate #3: Context managers (with, contextlib)

How with collapses try/finally, building your own context manager with __enter__/__exit__, the concise @contextmanager form, and practical tools like ExitStack and suppress.

Modern Python Intermediate #2: typing in earnest — Generic, Protocol, TypedDict, Literal
4 min read

Modern Python Intermediate #2: typing in earnest — Generic, Protocol, TypedDict, Literal

The next step from basics type hints — Generic for parameterizing types, Protocol for precise duck typing, TypedDict for dict shapes, and Literal for narrow unions.

Modern Python Intermediate #1: dataclass and __slots__
4 min read

Modern Python Intermediate #1: dataclass and __slots__

Every option of @dataclass for short, safe data classes — frozen, kw_only, field() — and __slots__ for memory savings.

Modern Python Basics #7: Modules/packages and pyproject.toml
4 min read

Modern Python Basics #7: Modules/packages and pyproject.toml

The import system, the difference between modules and packages, __init__.py and __main__, and pyproject.toml for dependencies, tool config, and distribution — all in one place.

Modern Python Basics #6: Errors and exception handling
4 min read

Modern Python Basics #6: Errors and exception handling

The roles of try/except/else/finally, raise and user-defined exceptions, and the ExceptionGroup and except* introduced in 3.11.

Modern Python Basics #5: Functions — argument patterns
5 min read

Modern Python Basics #5: Functions — argument patterns

Defaults, *args/**kwargs, positional-only(/), keyword-only(*) — every tool for writing function signatures expressively.

Modern Python Basics #4: Collections and comprehensions
4 min read

Modern Python Basics #4: Collections and comprehensions

The role of list/tuple/dict/set, plus comprehensions and generator expressions for building new collections in a single line.