Декораторы
Использование декораторов в Python. Декоратор меняет или улучшает принятую функцию и выдает новую измененную функцию. Это значит, что когда вы вызываете декорированную функцию, вы получите функцию, которая может иметь небольшие отличия, в виде дополнительных возможностей.