Метаклассы, дескрипторы, модификаторы доступа – звучит сложно? Разберем 5 вопросов, которые часто задают на собеседованиях по Python. В начале этой статьи я бы хотел немного познакомиться с вами. Меня зовут Кирилл и достаточно долгое время я провел в должности тех. лида и, исходя из этого, мне нужно было часто проводить собеседования. Сам я Full-Stack и из-за частых собесов у меня сформировался определенный топ интересных вопросов, который я задаю на собеседовании. 1. Что такое метаклассы?
Метакласс – это класс, который определяет свойства других классов. С помощью метакласса мы можем определять свойства, которые следует добавлять в новые классы, определенные в нашем коде. То есть исходя из этого – метаклассы мы можем использовать в качестве конструктора для наших классов. 2. Что такое дескрипторы и как их использовать?
Если говорить в общем, то дескриптор — это атрибут объекта со связанным поведением (англ. binding behavior), т. е. такой, чьё поведение при доступе переопределяется