47просмотров
12.2%от подписчиков
21 марта 2026 г.
Score: 52
🧩 Code Cleanup Декораторы: не пиши один и тот же код дважды Часто вижу такое: def get_user(user_id): print(f"Вызов get_user с {user_id}") result = db.query(user_id) print(f"get_user выполнился за ...") return result def get_orders(user_id): print(f"Вызов get_orders с {user_id}") result = db.query_orders(user_id) print(f"get_orders выполнился за ...") return result Логирование копируется в каждую функцию. Если нужно что-то поменять — правишь везде. После: import functools
import time def log(func): @functools.wraps(func) def wrapper(*args, **kwargs): print(f"Вызов {func.name} с {args} {kwargs}") start = time.perf_counter() result = func(*args, **kwargs) print(f"{func.name} выполнился за {time.perf_counter() - start:.4f}с") return result return wrapper @log
def get_user(user_id): return db.query(user_id) @log
def get_orders(user_id): return db.query_orders(user_id) 🐍Вопросы с собесов -> ProstoPython