Каков базовый контракт декоратора функции в Python?
Он может выполнить исходную функцию только один раз и не может её вернуть.
Он навсегда изменяет исходный файл с исходным кодом функции.
Он может принимать только классы и должен возвращать целое число.
Он принимает функцию, добавляет или изменяет её поведение и возвращает вызываемую замену.