mock_sobes
← Чтение чужого кода + код-ревью + network debug
middle code_explain #614
📖 Что делает этот код?
```python
from contextlib import contextmanager
import time

@contextmanager
def timed(name):
    start = time.perf_counter()
    try:
        yield
    finally:
        elapsed = time.perf_counter() - start
        print(f"{name}: {elapsed*1000:.1f}ms")

with timed("db query"):
    rows = db.execute("SELECT * FROM users")
```
Что делает, как работает yield в decorator'е, чем отличается от class-based context manager.
Чтобы решить вопрос и сохранить попытку — войди.