Встречается на 1% собеседований по Python

В каких ситуациях применяется monkey patching

Monkey patching — это динамическое изменение поведения кода во время выполнения (обычно классов или модулей). Применяется в следующих случаях:

  1. Тестирование — подмена зависимостей для изоляции тестов (например, мокирование API-запросов).
  2. Исправление багов — временные фиксы в сторонних библиотеках без ожидания официального обновления.
  3. Расширение функционала — добавление методов в существующие классы (например, в Django).

Пример:

python
import requests

def mock_get(*args, **kwargs):
    return "Mocked response"

# Подмена метода requests.get
requests.get = mock_get

print(requests.get("https://api.example.com"))  # Выведет: "Mocked response"

Осторожно:

  • Усложняет отладку.
  • Может вызвать конфликты в многопоточной среде.
  • Ломает инкапсуляцию.

Используйте только там, где нет чистых альтернатив (например, dependency injection).

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы